project(Economy) # List sources set(HEADERS "defines.h" "enterprise_defaults.h" "systems.h") set(HEADERS_COMPONENTS "container.h" "enterprise.h" "miner.h" "producer.h" "tags.h") set(SOURCES "Economy.cpp") set(SOURCES_SYSTEMS "mining.cpp") list(TRANSFORM HEADERS PREPEND "include/") list(TRANSFORM HEADERS_COMPONENTS PREPEND "include/components/") list(TRANSFORM SOURCES PREPEND "src/") list(TRANSFORM SOURCES_SYSTEMS PREPEND "src/systems/") # Find dependencies find_package(EnTT CONFIG REQUIRED) # Link library add_library(Economy SHARED ${HEADERS} ${HEADERS_COMPONENTS} ${SOURCES} ${SOURCES_SYSTEMS}) add_library(Economy::Economy ALIAS Economy) target_link_libraries(Economy PRIVATE EnTT::EnTT) target_include_directories(Economy PUBLIC include/) if (CMAKE_VERSION VERSION_GREATER 3.12) set_property(TARGET Economy PROPERTY CXX_STANDARD 20) endif()