96 lines
2.4 KiB
CMake

file(GLOB simdata CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/simdata/*.cpp)
add_library(simdata SHARED
${simdata}
)
target_include_directories(simdata PRIVATE
${CMAKE_SOURCE_DIR}/simdata/include
${CMAKE_SOURCE_DIR}/utilities/include
)
set_target_properties(simdata PROPERTIES
PUBLIC_HEADER ${CMAKE_SOURCE_DIR}/simdata/include
)
target_compile_options(simdata PRIVATE
-Wall
-Wextra
-pedantic
)
if(DEBUG)
target_compile_options(simdata PRIVATE
-g
)
target_link_options(simdata PRIVATE
-g
)
else()
target_compile_options(simdata PRIVATE
-O2
)
endif()
if(APPLE)
message("Building simdata for MacOSX Universal into ${PROJECT_BINARY_DIR}/${PLUGIN_NAME}")
set_target_properties(simdata PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}"
BUILD_WITH_INSTALL_NAME_DIR TRUE
)
target_compile_options(simdata PRIVATE
"SHELL:-arch x86_64"
)
target_link_options(simdata PRIVATE
"SHELL:-arch x86_64"
)
target_link_libraries(simdata PRIVATE
"-framework Security"
)
elseif(UNIX)
message("Building simdata for Linux ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(simdata PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
target_compile_options(simdata PRIVATE
-nodefaultlibs
)
if()
target_compile_options(simdata PRIVATE
-m32
)
target_link_options(simdata PRIVATE
-m32
)
endif()
elseif(WIN32)
if (BIT STREQUAL "32")
message("Building simdata for Windows ${BIT} into ${PROJECT_BINARY_DIR}/FSConnect")
set_target_properties(simdata PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/FSConnect"
)
else()
message("Building simdata for Windows ${BIT} into ${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}")
set_target_properties(simdata PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Plugin/${PLUGIN_NAME}/${BIT}"
)
endif()
if(DEBUG)
target_compile_options(simdata PRIVATE
-gcodeview
)
target_link_options(simdata PRIVATE
-Wl,-pdb=
)
endif()
target_link_options(simdata PRIVATE
-static-libgcc
-static-libstdc++
)
endif()