diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2018-04-11 15:15:31 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2018-05-11 20:10:23 -0600 |
| commit | a38c5c82909a579170bf8f940dda89161a5e29f7 (patch) | |
| tree | fe3555c62b727217035180604a81ef156e174c2f | |
| parent | 6e590c31d0ceaf3edc717d4e79aacc9afed46f5c (diff) | |
| download | usermoji-a38c5c82909a579170bf8f940dda89161a5e29f7.tar.xz | |
cmake: Clean up main cmakelists.txt file
Delete unnecessary cmake, move non-common stuff to consitituent cmake
files.
Change-Id: I158c50511a2b9810f6b2fa198d4d8aee5a23ac93
| -rw-r--r-- | CMakeLists.txt | 88 | ||||
| -rw-r--r-- | cube/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | icd/CMakeLists.txt | 21 |
3 files changed, 25 insertions, 95 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 97486d6a..02737c02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,15 +9,7 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12" CACHE STRING "Minimum OS X deployment ve project (VULKAN) # set (CMAKE_VERBOSE_MAKEFILE 1) -# The API_NAME allows renaming builds to avoid conflicts with installed SDKs -# The MAJOR number of the version we're building, used in naming -# <api-name>-<major>.dll (and other files). -set(API_NAME "Vulkan" CACHE STRING "API name to use when building") -set(MAJOR "1") -string(TOLOWER ${API_NAME} API_LOWERCASE) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -find_package(PythonInterp 3 REQUIRED) # If CMAKE 3.7+, use FindVulkan if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) @@ -25,15 +17,6 @@ if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) find_package(Vulkan) endif() -option(USE_CCACHE "Use ccache" OFF) -if (USE_CCACHE) - find_program(CCACHE_FOUND ccache) - if(CCACHE_FOUND) - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) - set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) - endif(CCACHE_FOUND) -endif() - if(APPLE) # CMake versions 3 or later need CMAKE_MACOSX_RPATH defined. # This avoids the CMP0042 policy message. @@ -44,10 +27,7 @@ endif() # Enable cmake folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) -set(LVL_TARGET_FOLDER lvl_cmake_targets) - -# Move to ICD -set(SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/scripts") +set(TOOLS_TARGET_FOLDER lvl_cmake_targets) # Header file for CMake settings include_directories("${PROJECT_SOURCE_DIR}/include") @@ -74,74 +54,10 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") endif() endif() -if(WIN32) - # Treat warnings as errors - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/WX>") - # Disable RTTI - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/GR->") - # Warn about nested declarations - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34456>") - # Warn about potentially uninitialized variables - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34701>") - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34703>") - # Warn about different indirection types. - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34057>") - # Warn about signed/unsigned mismatch. - add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34245>") -endif() - -if(NOT WIN32) - set (BUILDTGT_DIR build) - set (BINDATA_DIR Bin) - set (LIBSOURCE_DIR Lib) -else() - # is WIN32 - option(DISABLE_BUILD_PATH_DECORATION "Disable the decoration of the gslang and SPIRV-Tools build path with MSVC build type info" OFF) - option(DISABLE_BUILDTGT_DIR_DECORATION "Disable the decoration of the gslang and SPIRV-Tools build path with target info" OFF) - option(ENABLE_WIN10_ONECORE "Link the loader with OneCore umbrella libraries" OFF) - - # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. - # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the - # appropriate data at build time. - if (DISABLE_BUILDTGT_DIR_DECORATION) - set (BUILDTGT_DIR "") - set (BINDATA_DIR "") - set (LIBSOURCE_DIR "") - elseif (CMAKE_CL_64) - set (BUILDTGT_DIR build) - set (BINDATA_DIR Bin) - set (LIBSOURCE_DIR Lib) - else() - set (BUILDTGT_DIR build32) - set (BINDATA_DIR Bin32) - set (LIBSOURCE_DIR Lib32) - endif() -endif() - option(BUILD_CUBE "Build cube" ON) option(BUILD_VULKANINFO "Build vulkaninfo" ON) option(BUILD_ICD "Build icd" ON) -find_program(GLSLANG_VALIDATOR NAMES glslangValidator - HINTS "${EXTERNAL_SOURCE_ROOT}/glslang/${BUILDTGT_DIR}/install/bin" - "${GLSLANG_BINARY_ROOT}/StandAlone" - "${PROJECT_SOURCE_DIR}/external/${BINDATA_DIR}") - -find_library(Vulkan_LIBRARY NAMES vulkan-1 vulkan - HINTS ${VK_SDK_PATH} ) - - -set (PYTHON_CMD ${PYTHON_EXECUTABLE}) - -# Move to icd dir -# Define macro used for building vkxml generated files -macro(run_vk_xml_generate dependency output) - add_custom_command(OUTPUT ${output} - COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${SCRIPTS_DIR}/vk.xml ${output} - DEPENDS ${SCRIPTS_DIR}/vk.xml ${SCRIPTS_DIR}/generator.py ${SCRIPTS_DIR}/${dependency} ${SCRIPTS_DIR}/lvl_genvk.py ${SCRIPTS_DIR}/reg.py - ) -endmacro() - if(UNIX) if(INSTALL_LVL_FILES) install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) @@ -157,8 +73,6 @@ if(UNIX) COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) endif() -add_definitions(-DAPI_NAME="${API_NAME}") - if(BUILD_CUBE) add_subdirectory(cube) endif() diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt index d437cf8f..92a9a3f2 100644 --- a/cube/CMakeLists.txt +++ b/cube/CMakeLists.txt @@ -3,6 +3,12 @@ set(CUBE_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/.. ) +find_program(GLSLANG_VALIDATOR NAMES glslangValidator + HINTS "${EXTERNAL_SOURCE_ROOT}/glslang/${BUILDTGT_DIR}/install/bin" + "$ENV{VK_SDK_PATH}/bin" + "${GLSLANG_BINARY_ROOT}/StandAlone" + "${PROJECT_SOURCE_DIR}/external/${BINDATA_DIR}") + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") include(FindPkgConfig) option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) @@ -40,10 +46,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf") endif() - set(CUBE_INCLUDE_DIRS - "${PROJECT_SOURCE_DIR}/icd/common" - ${CUBE_INCLUDE_DIRS} - ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Android") add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") @@ -97,7 +99,6 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") message( FATAL_ERROR "Unrecognized value for CUBE_WSI_SELECTION: ${CUBE_WSI_SELECTION}" ) endif() - include_directories ("${PROJECT_SOURCE_DIR}/icd/common") link_libraries(${API_LOWERCASE} m) elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") add_definitions(-DVK_USE_PLATFORM_MACOS_MVK) diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt index 21e5b8ce..acc82eee 100644 --- a/icd/CMakeLists.txt +++ b/icd/CMakeLists.txt @@ -1,4 +1,19 @@ cmake_minimum_required (VERSION 2.8.11) + +find_package(PythonInterp 3 REQUIRED) + +set(SCRIPTS_DIR "${PROJECT_SOURCE_DIR}/scripts") + +set (PYTHON_CMD ${PYTHON_EXECUTABLE}) + +# Define macro used for building vk.xml generated files +macro(run_vk_xml_generate dependency output) + add_custom_command(OUTPUT ${output} + COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${SCRIPTS_DIR}/vk.xml ${output} + DEPENDS ${SCRIPTS_DIR}/vk.xml ${SCRIPTS_DIR}/generator.py ${SCRIPTS_DIR}/${dependency} ${SCRIPTS_DIR}/lvl_genvk.py ${SCRIPTS_DIR}/reg.py + ) +endmacro() + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DVK_USE_PLATFORM_WIN32_KHX -DWIN32_LEAN_AND_MEAN) set(DisplayServer Win32) @@ -39,7 +54,7 @@ if (WIN32) COMMAND copy ${src_json} ${dst_json} VERBATIM ) - set_target_properties(${config_file}-json PROPERTIES FOLDER ${LVL_TARGET_FOLDER}) + set_target_properties(${config_file}-json PROPERTIES FOLDER ${TOOLS_TARGET_FOLDER}) endforeach(config_file) else() foreach (config_file ${ICD_JSON_FILES}) @@ -95,7 +110,7 @@ add_custom_target(generate_icd_files DEPENDS mock_icd.h mock_icd.cpp ) -set_target_properties(generate_icd_files PROPERTIES FOLDER ${LVL_TARGET_FOLDER}) +set_target_properties(generate_icd_files PROPERTIES FOLDER ${TOOLS_TARGET_FOLDER}) if (WIN32) macro(add_vk_icd target) @@ -104,7 +119,7 @@ if (WIN32) COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEF_FILE} VkICD_${target}.def VERBATIM ) - set_target_properties(copy-${target}-def-file PROPERTIES FOLDER ${LVL_TARGET_FOLDER}) + set_target_properties(copy-${target}-def-file PROPERTIES FOLDER ${TOOLS_TARGET_FOLDER}) add_library(VkICD_${target} SHARED ${ARGN} VkICD_${target}.def) add_dependencies(VkICD_${target} generate_helper_files generate_icd_files) #target_link_Libraries(VkICD_${target} VkICD_utils) |
