CMAKE_MINIMUM_REQUIRED(VERSION 3.16) PROJECT(VirtualMath C) SET(CMAKE_C_STANDARD 11) OPTION(GC "GC" ON) IF (${CMAKE_BUILD_TYPE} STREQUAL Debug) ADD_DEFINITIONS(-DDEBUG=1) ELSE() ADD_DEFINITIONS(-DDEBUG=0) ENDIF() IF (${GC}) ADD_DEFINITIONS(-DSTART_GC=1) ELSE() ADD_DEFINITIONS(-DSTART_GC=0) ENDIF() ADD_DEFINITIONS(-DCC=\"${CMAKE_C_COMPILER}\") INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/VirtulMathCore/include) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/argument ARGUMENT_LIST) MESSAGE("project dir is ${PROJECT_SOURCE_DIR}") MESSAGE("cmake file in is ${CMAKE_CURRENT_SOURCE_DIR}") ADD_SUBDIRECTORY(${PROJECT_SOURCE_DIR}/VirtulMathCore) ADD_EXECUTABLE(VirtualMath main.c ${SRC_LIST} ${ARGUMENT_LIST}) TARGET_LINK_LIBRARIES(VirtualMath VirtualMathCore)