cmake: add project folders

- Add static libraries to "libraries" folder
- Add servers to "executables/servers" folder
- Add tools to "executables/tools" folder
- Add tests to "executables/tests" folder
- Add contrib projects to "contrib" folder
This commit is contained in:
brainiac 2025-12-16 20:30:47 -08:00 committed by Alex
parent f1ff227fbd
commit a8551f20c9
13 changed files with 21 additions and 3 deletions

View File

@ -23,6 +23,8 @@ project(EQEmu
LANGUAGES CXX
)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
#explicitly set CMP0167 for Find Boost
if(POLICY CMP0167)
cmake_policy(SET CMP0167 NEW)

View File

@ -14,3 +14,4 @@ install(TARGETS export_client_files RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/
target_link_libraries(export_client_files common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET export_client_files PROPERTY FOLDER executables/tools)

View File

@ -14,3 +14,4 @@ install(TARGETS import_client_files RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/
target_link_libraries(import_client_files common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET import_client_files PROPERTY FOLDER executables/tools)

View File

@ -819,4 +819,5 @@ if(EQEMU_BUILD_PCH)
set_source_files_properties("patches/sod.cpp" "patches/sof.cpp" "patches/rof.cpp" "patches/rof2.cpp" "patches/uf.cpp" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
endif()
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET common PROPERTY FOLDER libraries)

View File

@ -18,3 +18,4 @@ install(TARGETS eqlaunch RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
target_link_libraries(eqlaunch common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET eqlaunch PROPERTY FOLDER executables/tools)

View File

@ -33,3 +33,4 @@ if(MSVC)
endif()
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET luabind PROPERTY FOLDER contrib)

View File

@ -35,3 +35,4 @@ install(TARGETS loginserver RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
target_link_libraries(loginserver common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET loginserver PROPERTY FOLDER executables/servers)

View File

@ -28,3 +28,4 @@ add_definitions(-DQSERV)
target_link_libraries(queryserv common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET queryserv PROPERTY FOLDER executables/servers)

View File

@ -18,3 +18,4 @@ install(TARGETS shared_memory RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
target_link_libraries(shared_memory common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET shared_memory PROPERTY FOLDER executables/servers)

View File

@ -46,3 +46,4 @@ if(UNIX)
endif()
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET tests PROPERTY FOLDER executables/tests)

View File

@ -26,3 +26,4 @@ add_definitions(-DUCS)
target_link_libraries(ucs common)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET ucs PROPERTY FOLDER executables/servers)

View File

@ -103,4 +103,5 @@ endif()
install(TARGETS world RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET world PROPERTY FOLDER executables/servers)

View File

@ -266,6 +266,8 @@ set(lua_sources
)
add_library(lua_zone STATIC ${lua_sources})
set_property(TARGET lua_zone PROPERTY FOLDER libraries)
set_target_properties(lua_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
set(perl_sources
@ -296,6 +298,7 @@ set(perl_sources
)
add_library(perl_zone STATIC ${perl_sources})
set_property(TARGET perl_zone PROPERTY FOLDER libraries)
set_target_properties(perl_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
set(gm_command_sources
@ -662,6 +665,7 @@ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Source Files" FILES ${gm
add_library(gm_commands_zone STATIC ${gm_command_sources})
target_link_libraries(gm_commands_zone PRIVATE common)
set_target_properties(gm_commands_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 32)
set_property(TARGET gm_commands_zone PROPERTY FOLDER libraries)
add_executable(zone ${zone_sources} ${zone_headers})
@ -701,4 +705,5 @@ if(EQEMU_BUILD_PERL)
target_link_libraries(zone PRIVATE perl_zone)
endif()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set_property(TARGET zone PROPERTY FOLDER executables/servers)