CMAKE_MINIMUM_REQUIRED(VERSION 3.16) PROJECT(VirtualMathCore C) SET(CMAKE_C_STANDARD 11) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/parser/include) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/include) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/include) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/md5/include) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/memory MEM_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/parser PASER_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/file FILE_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/gc GC_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/src OFUNC_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/clib CLIB_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/signalhandler HANDLER_LIST) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/md5 MD5_LIST) ADD_LIBRARY(VirtualMathCore STATIC ${SRC_LIST} ${GC_LIST} ${PASER_LIST} ${MEM_LIST} ${FILE_LIST} ${ARGUMENT_LIST} ${OFUNC_LIST} ${HANDLER_LIST} ${CLIB_LIST} ${MD5_LIST}) TARGET_LINK_LIBRARIES(VirtualMathCore m) IF (NOT (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")) TARGET_LINK_LIBRARIES(VirtualMathCore ffi) TARGET_LINK_LIBRARIES(VirtualMathCore dl) ELSE() TARGET_LINK_LIBRARIES(VirtualMathCore libffi) ADD_LIBRARY(dlwin32 STATIC src/win/dlfcn_win32.c) TARGET_LINK_LIBRARIES(VirtualMathCore dlwin32) ENDIF()