43 lines
1.1 KiB
CMake
43 lines
1.1 KiB
CMake
# Source files CMakeLists.txt
|
|
|
|
# Collect all source files
|
|
file(GLOB_RECURSE SOURCES "*.cpp" "*.cc" "*.cxx")
|
|
file(GLOB_RECURSE HEADERS "*.h" "*.hpp" "*.hxx")
|
|
|
|
# Create the main library
|
|
add_library(pokemon_battle_sim ${SOURCES} ${HEADERS})
|
|
|
|
# Set library properties
|
|
set_target_properties(pokemon_battle_sim PROPERTIES
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${PROJECT_VERSION_MAJOR}
|
|
)
|
|
|
|
# Include directories
|
|
target_include_directories(pokemon_battle_sim
|
|
PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${RAPIDJSON_INCLUDE_DIR}
|
|
)
|
|
|
|
# Link dependencies
|
|
target_link_libraries(pokemon_battle_sim
|
|
PRIVATE
|
|
Threads::Threads
|
|
)
|
|
|
|
# Create an alias for consistency
|
|
add_library(PokemonSim::pokemon_battle_sim ALIAS pokemon_battle_sim)
|
|
|
|
# Export the target
|
|
install(TARGETS pokemon_battle_sim
|
|
EXPORT PokemonSimTargets
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
)
|