From 977f0318b76081e8dfa492bd5ffe19a0409f7a25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Thu, 17 Aug 2017 20:40:52 +0200 Subject: [PATCH 1/3] make base as library --- CMakeLists.txt | 18 ++++++++++-------- base/CMakeLists.txt | 4 ++++ 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 base/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 02a7a06e..bd59f0c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,12 +82,12 @@ endif(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-std=c++11) -file(GLOB SOURCE *.cpp base/*.cpp) +file(GLOB SOURCE *.cpp ) # Function for building single example function(buildExample EXAMPLE_NAME) # Main - file(GLOB SOURCE *.cpp base/*.cpp ${EXAMPLE_NAME}/*.cpp) + file(GLOB SOURCE *.cpp ${BASE_HEADERS} ${EXAMPLE_NAME}/*.cpp) SET(MAIN_CPP ${EXAMPLE_NAME}/${EXAMPLE_NAME}.cpp) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${EXAMPLE_NAME}/main.cpp) SET(MAIN_CPP ${EXAMPLE_NAME}/main.cpp) @@ -101,12 +101,12 @@ function(buildExample EXAMPLE_NAME) set(SHADER_DIR data/shaders/${EXAMPLE_NAME}) file(GLOB SHADERS "${SHADER_DIR}/*.vert" "${SHADER_DIR}/*.frag" "${SHADER_DIR}/*.geom" "${SHADER_DIR}/*.tesc" "${SHADER_DIR}/*.tese") source_group("Shaders" FILES ${SHADERS}) - if(WIN32) + if(WIN32) add_executable(${EXAMPLE_NAME} WIN32 ${MAIN_CPP} ${SOURCE} ${SHADERS}) - target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) + target_link_libraries(${EXAMPLE_NAME} base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) else(WIN32) add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) - target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(${EXAMPLE_NAME} base ) endif(WIN32) endfunction(buildExample) @@ -125,12 +125,14 @@ ENDIF(MSVC) IF(WIN32) # Nothing here (yet) ELSE(WIN32) - link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) ENDIF(WIN32) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") -set(EXAMPLES +add_subdirectory(base) + +set(EXAMPLES bloom computecloth computecullandlod @@ -148,7 +150,7 @@ set(EXAMPLES geometryshader hdr imgui - indirectdraw + indirectdraw instancing mesh multisampling diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt new file mode 100644 index 00000000..bf8b324d --- /dev/null +++ b/base/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB BASE_SRC *.cpp) +file(GLOB BASE_HEADERS *.hpp) + +add_library(base SHARED ${BASE_SRC}) From ac7d7396c278a4661a9532f2f75390cd23de4250 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Sat, 19 Aug 2017 10:49:37 +0200 Subject: [PATCH 2/3] Include required libraries in shared base (fixes gcc on windows) --- base/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt index bf8b324d..f03f4ea1 100644 --- a/base/CMakeLists.txt +++ b/base/CMakeLists.txt @@ -1,4 +1,10 @@ file(GLOB BASE_SRC *.cpp) file(GLOB BASE_HEADERS *.hpp) -add_library(base SHARED ${BASE_SRC}) +if(WIN32) + add_library(base SHARED ${BASE_SRC}) + target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) + else(WIN32) + add_library(base SHARED ${BASE_SRC}) + target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) +endif(WIN32) \ No newline at end of file From 2020c9548fe6e4d3ad45802072f402ed77225e9e Mon Sep 17 00:00:00 2001 From: saschawillems Date: Sat, 19 Aug 2017 10:53:28 +0200 Subject: [PATCH 3/3] Static shared library --- base/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt index f03f4ea1..8677b252 100644 --- a/base/CMakeLists.txt +++ b/base/CMakeLists.txt @@ -2,9 +2,9 @@ file(GLOB BASE_SRC *.cpp) file(GLOB BASE_HEADERS *.hpp) if(WIN32) - add_library(base SHARED ${BASE_SRC}) + add_library(base STATIC ${BASE_SRC}) target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) else(WIN32) - add_library(base SHARED ${BASE_SRC}) + add_library(base STATIC ${BASE_SRC}) target_link_libraries(base ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) endif(WIN32) \ No newline at end of file