# CMakeLists.txt #################################################### # Written by JackCarterSmith, 2022 # This code is released under the RSE license. #################################################### # General library configuration if(DEFINED ENV{MS_COMPATIBLE}) set(CMAKE_GNUtoMS ON) # Enable compatibility level to exported libraries endif() include(CheckIncludeFile) include(CheckCSourceCompiles) # Define src/headers files file(GLOB_RECURSE RSP_MOD_SOURCES ./src/*.c) source_group("Source Files" FILES ${RSP_MOD_SOURCES}) file(GLOB RSP_PUBLIC_HRDS ./include/*.h) set(RSP_PUBLIC_HRDS ${RSP_PUBLIC_HRDS} PARENT_SCOPE) # Building instructions for RSE-Model if(DEFINED ENV{CI}) set(CMAKE_BUILD_TYPE RELEASE) endif() # Declare the shared library instance add_library(rsp-model-lib SHARED ${RSP_MOD_SOURCES}) set_property(TARGET rsp-model-lib PROPERTY C_STANDARD 90) target_include_directories(rsp-model-lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) set_target_properties(rsp-model-lib PROPERTIES OUTPUT_NAME ${RSP_MODEL_LIB_NAME}) set_target_properties(rsp-model-lib PROPERTIES DEFINE_SYMBOL RSPMODEL_DLL) if(MSVC) # msvc does not append 'lib' - do it here to have consistent name set_target_properties(rsp-model-lib PROPERTIES PREFIX "lib") set_target_properties(rsp-model-lib PROPERTIES IMPORT_PREFIX "lib") endif() # Declare the static library instance add_library(rsp-model-libstatic STATIC ${RSP_MOD_SOURCES}) set_property(TARGET rsp-model-libstatic PROPERTY C_STANDARD 90) target_include_directories(rsp-model-libstatic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) if(NOT MSVC) set_target_properties(rsp-model-libstatic PROPERTIES OUTPUT_NAME "${RSP_MODEL_LIB_NAME}") set_target_properties(rsp-model-libstatic PROPERTIES CLEAN_DIRECT_OUTPUT 1) else() set_target_properties(rsp-model-libstatic PROPERTIES OUTPUT_NAME "${RSP_MODEL_LIB_NAME}_static") set_target_properties(rsp-model-libstatic PROPERTIES CLEAN_DIRECT_OUTPUT 1) endif() if(MSVC) # msvc does not append 'lib' - do it here to have consistent name set_target_properties(rsp-model-libstatic PROPERTIES PREFIX "lib") set_target_properties(rsp-model-libstatic PROPERTIES IMPORT_PREFIX "lib") endif()