aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt23
1 files changed, 11 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d71f2dc..4ab8c27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,13 +1,13 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.13)
-#OPTION (VKH_BUILD_SHARED_LIB "Build using shared libraries" OFF)
OPTION(VKH_USE_VMA "enable Vulkan Memory Allocator" ON)
+
SET(LANG "C")
SET(CMAKE_${LANG}_STANDARD 11)
-set(CMAKE_C_VISIBILITY_PRESET hidden)
-set(CMAKE_CXX_VISIBILITY_PRESET hidden)
-set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
+#set(CMAKE_C_VISIBILITY_PRESET hidden)
+#set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+#set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library" LANGUAGES C CXX)
@@ -33,14 +33,12 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug")
ELSE()
UNSET(ENABLE_VALIDATION CACHE)
IF (UNIX)
- #ADD_COMPILE_OPTIONS(-w -fvisibility=hidden)
IF (CMAKE_C_COMPILER_ID STREQUAL "GNU")
ADD_COMPILE_OPTIONS(-flto)
ENDIF()
IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
ADD_COMPILE_OPTIONS(-flto)
ENDIF()
- #ADD_COMPILE_OPTIONS(-fuse-ld=gold) #no effect
ELSEIF(MSVC)
ADD_COMPILE_OPTIONS(/W0)
IF (${LANG} EQUAL "C" AND MSVC)
@@ -49,7 +47,6 @@ ELSE()
ENDIF()
ENDIF()
-
IF (ENABLE_VALIDATION)
ADD_DEFINITIONS (-DVKH_USE_VALIDATION)
ENDIF ()
@@ -69,13 +66,14 @@ GET_DIRECTORY_PROPERTY (vkh_has_root_project PARENT_DIRECTORY)
if (VKH_USE_VMA)
ADD_DEFINITIONS (-DVKH_USE_VMA)
SET(VKH_USE_VMA ON PARENT_SCOPE)
+
ADD_LIBRARY(VMA STATIC src/vma/VmaUsage.cpp)
SET_TARGET_PROPERTIES(
VMA PROPERTIES
- POSITION_INDEPENDENT_CODE ON
- LINKER_LANGUAGE C
+ LINKER_LANGUAGE CXX
CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON
+ POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS}
)
TARGET_INCLUDE_DIRECTORIES(VMA
PRIVATE
@@ -93,14 +91,15 @@ SET_TARGET_PROPERTIES("${PROJECT_NAME}" PROPERTIES
C_STANDARD 11
C_EXTENSIONS OFF
PUBLIC_HEADER include/vkh.h
- LINKER_LANGUAGE C
+
+ POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS}
)
TARGET_INCLUDE_DIRECTORIES("${PROJECT_NAME}"
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${Vulkan_INCLUDE_DIRS}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
- ${Vulkan_INCLUDE_DIRS}
)
if (VKH_USE_VMA)
TARGET_LINK_LIBRARIES("${PROJECT_NAME}"
@@ -109,7 +108,7 @@ if (VKH_USE_VMA)
)
ENDIF()
TARGET_LINK_LIBRARIES("${PROJECT_NAME}"
- PUBLIC
+ PRIVATE
${Vulkan_LIBRARIES}
Threads::Threads
)