66 lines
1.8 KiB
CMake
66 lines
1.8 KiB
CMake
# cmake for flasim, ottona, 2022-03-09
|
|
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(FS_TARGET flasim)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
if (WIN32) # unfortunately necessary due to caudio's incompatibility with c++17 on win
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
endif()
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/lib")
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/bin")
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/bin")
|
|
set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
set(FS_EXT_DIR "${CMAKE_CURRENT_LIST_DIR}/ext")
|
|
|
|
set(FS_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/src")
|
|
|
|
#caudio stuff
|
|
option(CAUDIO_STATIC on)
|
|
set(CAUDIO_TARGET cAudio)
|
|
set(CAUDIO_DIR ${FS_EXT_DIR}/cAudio)
|
|
set(CAUDIO_INC_DIR ${FS_EXT_DIR}/cAudio/cAudio/include)
|
|
add_subdirectory(${CAUDIO_DIR} EXCLUDE_FROM_ALL)
|
|
|
|
|
|
#irrlicht stuff
|
|
if (UNIX)
|
|
set(IRRLICHT_INC_DIR /usr/include/irrlicht)
|
|
endif()
|
|
set(IRRLICHT_TARGET Irrlicht)
|
|
|
|
project(${FS_TARGET})
|
|
|
|
add_executable(flasim
|
|
${FS_SRC_DIR}/Aircraft.cpp
|
|
${FS_SRC_DIR}/Aircraft.hpp
|
|
${FS_SRC_DIR}/Dispatcher.cpp
|
|
${FS_SRC_DIR}/Dispatcher.hpp
|
|
${FS_SRC_DIR}/FireUnit.cpp
|
|
${FS_SRC_DIR}/FireUnit.hpp
|
|
${FS_SRC_DIR}/FlaSimApp.cpp
|
|
${FS_SRC_DIR}/FlaSimApp.hpp
|
|
${FS_SRC_DIR}/Globals.cpp
|
|
${FS_SRC_DIR}/Globals.hpp
|
|
${FS_SRC_DIR}/main.cpp
|
|
${FS_SRC_DIR}/TurretCamAnimator.cpp
|
|
${FS_SRC_DIR}/TurretCamAnimator.hpp
|
|
)
|
|
|
|
target_include_directories(${FS_TARGET} PRIVATE ${IRRLICHT_INC_DIR} ${CAUDIO_INC_DIR} ${CMAKE_BINARY_DIR}/include) #last is needed for caudio
|
|
|
|
if(UNIX) # relocatable linking for unixoids
|
|
set_target_properties(flasim PROPERTIES LINK_FLAGS "-Wl,-rpath,$ORIGIN/")
|
|
endif()
|
|
|
|
target_link_directories(${FS_TARGET} PRIVATE ${IRRLICHT_LIB_DIR})
|
|
|
|
target_link_libraries(${FS_TARGET} ${CAUDIO_TARGET} ${IRRLICHT_TARGET})
|
|
|