carla/Util/OSM2ODR/CMakeLists.txt

112 lines
4.1 KiB
CMake

# set VERSION to empty string
cmake_policy(SET CMP0048 NEW)
# do not expand quoted variables in if statements
cmake_policy(SET CMP0054 NEW)
# Options
option(MULTITHREADED_BUILD "Use all available cores for building (applies to Visual Studio only)" true)
option(PROFILING "Enable output of profiling data (applies to gcc/clang builds only)" false)
set(BINARY_SUFFIX "" CACHE STRING "Append the suffix to every generated binary")
set(COMPILE_DEFINITIONS "" CACHE STRING "Macros or defines to add when compiling")
# Set a default build type if none was specified
# you may use -DCMAKE_BUILD_TYPE:STRING=Debug from the command line
set(default_build_type "Release")
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
endif ()
project(SUMO)
set(PACKAGE_VERSION "git")
cmake_minimum_required(VERSION 3.1)
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules/")
set(ENABLED_FEATURES "${CMAKE_SYSTEM} ${CMAKE_SYSTEM_PROCESSOR} ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} ${CMAKE_BUILD_TYPE}")
if (COMPILE_DEFINITIONS)
add_compile_definitions(${COMPILE_DEFINITIONS})
endif ()
# compiler specific flags
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread -Wall -pedantic -Wextra -fPIC")
elseif (MSVC)
# enabling /WX is not possible due to warnings in external headers
# /Wall brings MSVC 2013 to complete halt
if (MULTITHREADED_BUILD)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
endif ()
if (MSVC_VERSION GREATER 1914)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /experimental:external /external:W2")
set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "/external:I ")
endif ()
# exporting symbols for shared libraries needs to enabled explicitly
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif ()
# force Visual Studio to leave out the Release / Debug dirs
# Debug messages
message(STATUS "CMAKE_BINARY_DIR: " ${CMAKE_BINARY_DIR})
message(STATUS "CMAKE_SOURCE_DIR: " ${CMAKE_SOURCE_DIR})
message(STATUS "")
message(STATUS "Platform: ")
message(STATUS " Host: " ${CMAKE_HOST_SYSTEM} " " ${CMAKE_HOST_SYSTEM_PROCESSOR})
message(STATUS " Target: " ${CMAKE_SYSTEM} " " ${CMAKE_SYSTEM_PROCESSOR})
message(STATUS " CMake: " ${CMAKE_VERSION})
message(STATUS " CMake generator: " ${CMAKE_GENERATOR})
message(STATUS " CMake build tool: " ${CMAKE_BUILD_TOOL})
message(STATUS " Compiler: " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION})
if (CMAKE_GENERATOR MATCHES Xcode)
message(STATUS " Xcode: " ${XCODE_VERSION})
endif ()
message(STATUS "")
find_package(PythonInterp REQUIRED)
message(STATUS "Found Python: " ${PYTHON_EXECUTABLE})
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import setuptools" RESULT_VARIABLE SETUPTOOLS_MISSING)
#find_package(Proj)
#if (PROJ_FOUND)
#include_directories(SYSTEM ${PROJ_INCLUDE_DIR})
#set(ENABLED_FEATURES "${ENABLED_FEATURES} Proj")
#endif (PROJ_FOUND)
if (WIN32)
set(XERCES_PATH "../../Build/xerces-c-3.2.3-install")
set(XercesC_INCLUDE_DIR "${XERCES_PATH}/include")
set(XercesC_LIBRARY "${XERCES_PATH}/lib")
# Install xercesc
file(GLOB XERCES_LIBS "${XercesC_LIBRARY}/*.*")
install(FILES ${XERCES_LIBS} DESTINATION lib)
endif ()
find_package(XercesC REQUIRED)
if (XercesC_FOUND)
include_directories(SYSTEM ${XercesC_INCLUDE_DIRS})
endif (XercesC_FOUND)
find_package(X11)
if (X11_FOUND)
link_directories(${X11_LIBRARY_DIR})
include_directories(SYSTEM ${X11_INCLUDE_DIR})
endif (X11_FOUND)
find_package(ZLIB)
if (ZLIB_FOUND)
set(HAVE_ZLIB 1)
link_directories(${ZLIB_LIBRARY_DIR})
include_directories(SYSTEM ${ZLIB_INCLUDE_DIR})
endif ()
include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
add_subdirectory(src)
message(STATUS "Enabled features: ${ENABLED_FEATURES}")