diff -r 000000000000 -r bb36d1770a9e src/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/CMakeLists.txt Wed Mar 06 16:21:18 2019 +0100 @@ -0,0 +1,56 @@ +# Spacenav Simulator Qt +# Copyright © 2019 František Kučera (Frantovo.cz, GlobalCode.info) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +set(EXECUTABLE_FILE "spacenav-simulator-qt") + +# Qt libraries: +set(CMAKE_INCLUDE_CURRENT_DIR ON) # Find includes in corresponding build directories +set(CMAKE_AUTOMOC ON) # Instruct CMake to run moc automatically when needed +set(CMAKE_AUTOUIC ON) # Create code from a list of Qt designer ui files +find_package(Qt5Widgets CONFIG REQUIRED) # Find the QtWidgets library +# find_package(Qt5Charts CONFIG REQUIRED) + +# Add ASan AddressSanitizer +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") +set(CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") +# From ASan wiki: "To get nicer stack traces in error messages add -fno-omit-frame-pointer." + +# Executable output: +add_executable( + ${EXECUTABLE_FILE} + # QObjects must be listed here (including them from other files is not enough) + spacenav-simulator-qt.cpp +) + +# Link libraries: +target_link_libraries(${EXECUTABLE_FILE} -lX11 -lm -lspnav) +target_link_libraries(${EXECUTABLE_FILE} Qt5::Widgets) +# target_link_libraries(${EXECUTABLE_FILE} Qt5::Charts) +set_property(TARGET ${EXECUTABLE_FILE} PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE) + +install(TARGETS ${EXECUTABLE_FILE} DESTINATION bin) + +# Print all variables: +#macro(print_all_variables) +# message(STATUS "print_all_variables------------------------------------------{") +# get_cmake_property(_variableNames VARIABLES) +# foreach (_variableName ${_variableNames}) +# message(STATUS "${_variableName}=${${_variableName}}") +# endforeach() +# message(STATUS "print_all_variables------------------------------------------}") +#endmacro() +# +#print_all_variables()