mirror of
https://github.com/arcan1s/moldyn.git
synced 2025-07-22 18:19:58 +00:00
Added CMakeLists.txt
This commit is contained in:
121
mathmech/build/CMakeLists.txt
Normal file
121
mathmech/build/CMakeLists.txt
Normal file
@ -0,0 +1,121 @@
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
|
||||
set (PROJECT mathmech)
|
||||
|
||||
# additional options
|
||||
OPTION (WITH_DEBUG_MODE "Build with debug mode" OFF)
|
||||
OPTION (ADD_INCLUDE "Add include files" OFF)
|
||||
|
||||
# executable path
|
||||
set (EXECUTABLE_OUTPUT_PATH ${${PROJECT}_BINARY_DIR})
|
||||
|
||||
# verbose
|
||||
set (CMAKE_VERBOSE_MAKEFILE ON)
|
||||
|
||||
# flags
|
||||
if ( WITH_DEBUG_MODE )
|
||||
add_definitions ( -DDEBUG_MODE=1 )
|
||||
endif ()
|
||||
if ( CMAKE_COMPILER_IS_GNUCXX )
|
||||
set (ADD_CXX_FLAGS "-Wall")
|
||||
set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
elseif ( MSVC )
|
||||
set (ADD_CXX_FLAGS "/W4")
|
||||
set (CMAKE_CXX_FLAGS "${ADD_CXX_FLAGS}")
|
||||
else ()
|
||||
message ("Unknown compiler")
|
||||
endif ()
|
||||
|
||||
# set directories
|
||||
set (${PROJECT}_BINARY_DIR ../bin)
|
||||
set (${PROJECT}_RESOURCE_DIR ../resources)
|
||||
set (${PROJECT}_TRANSLATION_DIR ${${PROJECT}_RESOURCE_DIR}/translations)
|
||||
|
||||
# set files
|
||||
set (HEADERS
|
||||
../aboutwindow.h
|
||||
../aglallwindow.h
|
||||
../agglwindow.h
|
||||
../atomtypeswindow.h
|
||||
../clear_items.h
|
||||
../errorwindow.h
|
||||
../mainwindow.h
|
||||
../settingswindow.h
|
||||
../start_events.h
|
||||
../statgengraphwindow.h
|
||||
../update_fields.h)
|
||||
set (SOURCES
|
||||
../aboutwindow.cpp
|
||||
../aglallwindow.cpp
|
||||
../agglwindow.cpp
|
||||
../atomtypeswindow.cpp
|
||||
../clear_items.cpp
|
||||
../errorwindow.cpp
|
||||
../main.cpp
|
||||
../mainwindow.cpp
|
||||
../settingswindow.cpp
|
||||
../start_events.cpp
|
||||
../statgengraphwindow.cpp
|
||||
../update_fields.cpp)
|
||||
set (FORMS
|
||||
../aboutwindow.ui
|
||||
../agglwindow.ui
|
||||
../aglallwindow.ui
|
||||
../atomtypeswindow.ui
|
||||
../errorwindow.ui
|
||||
../mainwindow.ui
|
||||
../settingswindow.ui
|
||||
../statgengraphwindow.ui)
|
||||
# set library
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
set (LIBRARIES m)
|
||||
else ()
|
||||
set (LIBRARIES)
|
||||
endif()
|
||||
set (LANGUAGES
|
||||
eng
|
||||
rus)
|
||||
set (RESOURCES
|
||||
${${PROJECT}_RESOURCE_DIR}/resources.qrc)
|
||||
|
||||
|
||||
# compile
|
||||
project (${PROJECT})
|
||||
include_directories (../
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
find_package (Qt4 REQUIRED)
|
||||
include (${QT_USE_FILE})
|
||||
qt4_add_resources (QRC_SOURCES ${RESOURCES})
|
||||
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
|
||||
qt4_wrap_ui (UI_HEADERS ${FORMS})
|
||||
foreach (LANGUAGE ${LANGUAGES})
|
||||
set (TS ${${PROJECT}_TRANSLATION_DIR}/${LANGUAGE}.ts)
|
||||
set (QM ${${PROJECT}_TRANSLATION_DIR}/${LANGUAGE}.qm)
|
||||
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
||||
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
||||
add_custom_command (
|
||||
OUTPUT ${QM}
|
||||
COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS}
|
||||
MAIN_DEPENDENCY ${TS})
|
||||
endforeach()
|
||||
add_custom_target (
|
||||
translations
|
||||
COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} -ts ${TRANSLATIONS})
|
||||
add_custom_command (
|
||||
TARGET translations
|
||||
COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
||||
|
||||
source_group ("Header Files" FILES ${HEADERS})
|
||||
source_group ("Source Files" FILES ${SOURCES})
|
||||
source_group ("Generated Files" FILES ${MOC_SOURCES})
|
||||
source_group ("Resource Files" FILES ${QRC_SOURCES})
|
||||
|
||||
add_executable (${PROJECT} WIN32 ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
|
||||
|
||||
target_link_libraries (${PROJECT} ${LIBRARIES} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
|
||||
|
||||
# install properties
|
||||
INSTALL (TARGETS ${PROJECT} DESTINATION bin)
|
Reference in New Issue
Block a user