# Define what CMake versions this project targets. cmake_minimum_required(VERSION 3.18..3.29) # Define our project. project(ReWalker VERSION 1.0 LANGUAGES CXX) # Prevent building in main directory, it generates lots of clutter! if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message(FATAL_ERROR "In-source builds are not allowed") endif() # Set C++ version set(CMAKE_CXX_STANDARD 20) # Set optimization level set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0") # Include addon scripts from the 'cmake' directory set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") # Include CMake Package Manager include(cmake/CPM.cmake) # Automatically clone, compile and link the ReWindow library. # You specify the release name to target against. See the link below for releases: # https://git.redacted.cc/Redacted/ReWindow/releases CPMAddPackage( NAME mcolor URL https://git.redacted.cc/maxine/mcolor/archive/Prerelease-5.zip ) CPMAddPackage( NAME ReWindow URL https://git.redacted.cc/Redacted/ReWindow/archive/Prerelease-32.zip ) CPMAddPackage( NAME JGL URL https://git.redacted.cc/josh/JGL/archive/Prerelease-47.zip ) add_executable(ReWalkerApp main.cpp) target_include_directories(ReWalkerApp PUBLIC ${ReWindow_SOURCE_DIR}/include ${J3ML_SOURCE_DIR}/include ${mcolor_SOURCE_DIR}/include ${JGL_SOURCE_DIR}/include ) target_link_libraries(ReWalkerApp PUBLIC J3ML ReWindow mcolor JGL) # simple window test add_executable(TestWindowApp test.cpp) target_include_directories(TestWindowApp PUBLIC ${ReWindow_SOURCE_DIR}/include ${J3ML_SOURCE_DIR}/include ${mcolor_SOURCE_DIR}/include ) target_link_libraries(TestWindowApp PUBLIC J3ML ReWindow)