summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorBoris Stepanenko <boris.stepanenko@gmail.com>2019-08-29 14:39:26 +0300
committerBoris Stepanenko <boris.stepanenko@gmail.com>2019-08-29 14:39:26 +0300
commitf231abf7fb7688635e7b4f9d01d715a429916d75 (patch)
treed0c46c4bbb3f63c530ff160915a7e5821c08e243 /CMakeLists.txt
parentba5714be41b040b4f6a45f27c806d83271b494a4 (diff)
CMake: use CMAKE_INSTALL_PREFIX instead of USR_PREFIX in install, set default CMAKE_BUILD_TYPE to Release
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt43
1 files changed, 27 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 90ee240..497ff3b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,25 @@ project(nemu C)
set(CMAKE_COLOR_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE
+ PATH "Executable and lang files directory prefix" FORCE)
+ else()
+ set(CMAKE_INSTALL_PREFIX "/usr" CACHE
+ PATH "Executable and lang files directory prefix" FORCE)
+ endif()
+endif()
+add_definitions(-DNM_USR_PREFIX=${CMAKE_INSTALL_PREFIX})
+message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
+
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build" FORCE)
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
+ "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
+endif()
+message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+
option(NM_DEBUG "Build debug version" OFF)
option(NM_WITH_OVF_SUPPORT "Build with OVF support" ON)
option(NM_SAVEVM_SNAPSHOTS "Build with QEMU savevm snapshots" OFF)
@@ -17,7 +36,7 @@ if (NM_WITH_VNC_CLIENT)
add_definitions(-DNM_WITH_VNC_CLIENT)
endif()
if (NM_WITH_SPICE)
- add_definitions(-DNM_WITH_SPICE)
+ add_definitions(-DNM_WITH_SPICE)
endif()
if (NM_SAVEVM_SNAPSHOTS)
add_definitions(-DNM_SAVEVM_SNAPSHOTS)
@@ -84,13 +103,6 @@ if (NM_WITH_NETWORK_MAP)
include_directories(${GRAPHVIZ_INCLUDE_DIRS})
endif()
-if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-set(USR_PREFIX "/usr/local" CACHE PATH "Executable and lang files directory prefix")
-else()
-set(USR_PREFIX "/usr" CACHE PATH "Executable and lang files directory prefix")
-endif()
-add_definitions(-DNM_USR_PREFIX=${USR_PREFIX})
-
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/sh/git_get_version.sh ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_TAG_VERSION)
if (NOT GIT_TAG_VERSION STREQUAL "")
@@ -121,22 +133,21 @@ set(NEMU_NON_ROOT_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/sh/setup_nemu_nonroot.sh")
set(NEMU_MACVTAP_UDEV_RULE "${CMAKE_CURRENT_SOURCE_DIR}/sh/42-net-macvtap-perm.rules")
set(NEMU_NTTY_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/sh/ntty")
set(NEMU_BASH_AUTOCOMPLETE "${CMAKE_CURRENT_SOURCE_DIR}/sh/nemu.bash")
-install(TARGETS ${PROJECT_NAME} DESTINATION ${USR_PREFIX}/bin)
-install(FILES ${NEMU_CONFIG_SOURCE} DESTINATION
- "${USR_PREFIX}/share/nemu/templates/config")
+install(TARGETS ${PROJECT_NAME} DESTINATION bin)
+install(FILES ${NEMU_CONFIG_SOURCE} DESTINATION share/nemu/templates/config)
install(FILES ${NEMU_MACVTAP_UDEV_RULE} PERMISSIONS
OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
- DESTINATION "${USR_PREFIX}/share/nemu/scripts")
+ DESTINATION share/nemu/scripts)
install(FILES ${NEMU_DB_UPGRADE_SCRIPT} ${NEMU_NON_ROOT_SCRIPT} PERMISSIONS
OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE
- WORLD_READ DESTINATION "${USR_PREFIX}/share/nemu/scripts")
+ WORLD_READ DESTINATION share/nemu/scripts)
install(FILES ${NEMU_NTTY_SCRIPT} PERMISSIONS
OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE
- WORLD_READ DESTINATION "${USR_PREFIX}/bin")
-if(EXISTS "${USR_PREFIX}/share/bash-completion/completions")
+ WORLD_READ DESTINATION bin)
+if(EXISTS share/bash-completion/completions)
install(FILES ${NEMU_BASH_AUTOCOMPLETE} PERMISSIONS
OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
- DESTINATION "${USR_PREFIX}/share/bash-completion/completions"
+ DESTINATION share/bash-completion/completions
RENAME "nemu")
endif()