diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index f7292455434788d9419d05cb96822eccbace79b6..5ac46d4810f97b4cba4fad28d3a674ce0342522a 100644 --- a/Applications/ApplicationsLib/CMakeLists.txt +++ b/Applications/ApplicationsLib/CMakeLists.txt @@ -1,10 +1,10 @@ # Source files -SET ( LIB_SOURCES ProjectData.cpp ) +set ( LIB_SOURCES ProjectData.cpp ) # Library -ADD_LIBRARY (ApplicationsLib STATIC ${LIB_SOURCES}) +add_library (ApplicationsLib STATIC ${LIB_SOURCES}) -TARGET_LINK_LIBRARIES( ApplicationsLib +target_link_libraries( ApplicationsLib GeoLib MeshGeoToolsLib ProcessLib diff --git a/Applications/CLI/CMakeLists.txt b/Applications/CLI/CMakeLists.txt index ca2e06fa75c12961e5c020acd045e8efa5b39b18..219651ed9e89ce8f62b15d50f921969e8665e050 100644 --- a/Applications/CLI/CMakeLists.txt +++ b/Applications/CLI/CMakeLists.txt @@ -1,9 +1,9 @@ -ADD_EXECUTABLE(ogs +add_executable(ogs ogs.cpp ) -TARGET_LINK_LIBRARIES(ogs +target_link_libraries(ogs ApplicationsLib BaseLib FileIO @@ -14,16 +14,16 @@ TARGET_LINK_LIBRARIES(ogs ) ADD_CATALYST_DEPENDENCY(ogs) -IF(OGS_USE_PETSC) - TARGET_LINK_LIBRARIES(ogs ${PETSC_LIBRARIES}) -ENDIF() +if(OGS_USE_PETSC) + target_link_libraries(ogs ${PETSC_LIBRARIES}) +endif() -INCLUDE(Tests.cmake) +include(Tests.cmake) #################### ### Installation ### #################### -INSTALL (TARGETS ogs RUNTIME DESTINATION bin COMPONENT ogs_cli) +install (TARGETS ogs RUNTIME DESTINATION bin COMPONENT ogs_cli) set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "ogs" "OGS Simulator") cpack_add_component(ogs_cli diff --git a/Applications/CMakeLists.txt b/Applications/CMakeLists.txt index 5437ef7489ff07c396675a7f36f41e0b32981302..ac14cfbfd3b4568db5d3c6a85fca34fa2b8d9ae7 100644 --- a/Applications/CMakeLists.txt +++ b/Applications/CMakeLists.txt @@ -1,15 +1,15 @@ -ADD_SUBDIRECTORY(ApplicationsLib) +add_subdirectory(ApplicationsLib) -IF(OGS_BUILD_UTILS AND NOT IS_SUBPROJECT) - ADD_SUBDIRECTORY(Utils) -ENDIF() # OGS_BUILD_UTILS AND NOT IS_SUBPROJECT +if(OGS_BUILD_UTILS AND NOT IS_SUBPROJECT) + add_subdirectory(Utils) +endif() # OGS_BUILD_UTILS AND NOT IS_SUBPROJECT -IF(OGS_BUILD_GUI) - ADD_DEFINITIONS(-DOGS_BUILD_GUI) - ADD_SUBDIRECTORY(DataExplorer) -ENDIF() # OGS_BUILD_GUI +if(OGS_BUILD_GUI) + add_definitions(-DOGS_BUILD_GUI) + add_subdirectory(DataExplorer) +endif() # OGS_BUILD_GUI -IF(OGS_BUILD_CLI ) - ADD_SUBDIRECTORY(CLI) -ENDIF() # OGS_BUILD_CLI +if(OGS_BUILD_CLI ) + add_subdirectory(CLI) +endif() # OGS_BUILD_CLI diff --git a/Applications/DataExplorer/CMakeLists.txt b/Applications/DataExplorer/CMakeLists.txt index dca80e7a82e045871866543fc0b3cede552c3790..3eb8dcd8900e557856a8c69b48d33cd3ce1f2c94 100644 --- a/Applications/DataExplorer/CMakeLists.txt +++ b/Applications/DataExplorer/CMakeLists.txt @@ -1,18 +1,18 @@ -IF(VTKFBXCONVERTER_FOUND) - ADD_DEFINITIONS(-DVTKFBXCONVERTER_FOUND) - INCLUDE_DIRECTORIES(${VTKFBXCONVERTER_INCLUDE_DIRS}) -ENDIF() +if(VTKFBXCONVERTER_FOUND) + add_definitions(-DVTKFBXCONVERTER_FOUND) + include_directories(${VTKFBXCONVERTER_INCLUDE_DIRS}) +endif() -IF(VTKOSGCONVERTER_FOUND) - ADD_DEFINITIONS(-DVTKOSGCONVERTER_FOUND) - INCLUDE_DIRECTORIES(${VTKOSGCONVERTER_INCLUDE_DIRS}) -ENDIF() +if(VTKOSGCONVERTER_FOUND) + add_definitions(-DVTKOSGCONVERTER_FOUND) + include_directories(${VTKOSGCONVERTER_INCLUDE_DIRS}) +endif() # Add subprojects -ADD_SUBDIRECTORY( Base ) -ADD_SUBDIRECTORY( DataView/StratView ) -ADD_SUBDIRECTORY( DataView ) -ADD_SUBDIRECTORY( DataView/DiagramView ) -ADD_SUBDIRECTORY( VtkVis ) -ADD_SUBDIRECTORY( VtkAct ) -INCLUDE( DataExplorer.cmake ) +add_subdirectory( Base ) +add_subdirectory( DataView/StratView ) +add_subdirectory( DataView ) +add_subdirectory( DataView/DiagramView ) +add_subdirectory( VtkVis ) +add_subdirectory( VtkAct ) +include( DataExplorer.cmake ) diff --git a/Applications/DataExplorer/DataExplorer.cmake b/Applications/DataExplorer/DataExplorer.cmake index 0421bf7695596aa9f83aa4b09884e573f76a552e..0357dcde2948767c8ed9e0af8be32b588a90f938 100644 --- a/Applications/DataExplorer/DataExplorer.cmake +++ b/Applications/DataExplorer/DataExplorer.cmake @@ -1,24 +1,24 @@ # Source files -SET( SOURCES +set( SOURCES mainwindow.cpp ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileListDialog.cpp ) # Moc Header files -SET( MOC_HEADERS +set( MOC_HEADERS mainwindow.h ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.h ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileListDialog.h ) # Header files -SET( HEADERS +set( HEADERS ) # UI files -SET( UIS +set( UIS mainwindow.ui ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.ui ${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileList.ui @@ -35,8 +35,8 @@ QT4_WRAP_CPP( MOC_SOURCES ${MOC_HEADERS} ) # Include the headers which are generated by uic and moc # and include additional header -SET(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) -INCLUDE_DIRECTORIES( +set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) +include_directories( ${SOURCE_DIR_REL}/BaseLib ${SOURCE_DIR_REL}/MathLib ${SOURCE_DIR_REL}/GeoLib @@ -60,14 +60,14 @@ INCLUDE_DIRECTORIES( ) # Put moc files in a project folder -SOURCE_GROUP("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") -SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION "moc_.*") +source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") +source_group("Moc Files" REGULAR_EXPRESSION "moc_.*") # Application icon -SET(APP_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.icns) +set(APP_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.icns) # Create the executable -ADD_EXECUTABLE( DataExplorer MACOSX_BUNDLE +add_executable( DataExplorer MACOSX_BUNDLE main.cpp ${SOURCES} ${HEADERS} @@ -79,7 +79,7 @@ ADD_EXECUTABLE( DataExplorer MACOSX_BUNDLE exe-icon.rc ) -TARGET_LINK_LIBRARIES( DataExplorer +target_link_libraries( DataExplorer ${QT_LIBRARIES} ApplicationsLib BaseLib @@ -99,56 +99,56 @@ TARGET_LINK_LIBRARIES( DataExplorer shp ) -IF(VTK_NETCDF_FOUND) - TARGET_LINK_LIBRARIES( DataExplorer vtkNetCDF vtkNetCDF_cxx ) -ELSE() - TARGET_LINK_LIBRARIES( DataExplorer ${Shapelib_LIBRARIES} ) -ENDIF () # Shapelib_FOUND +if(VTK_NETCDF_FOUND) + target_link_libraries( DataExplorer vtkNetCDF vtkNetCDF_cxx ) +else() + target_link_libraries( DataExplorer ${Shapelib_LIBRARIES} ) +endif () # Shapelib_FOUND -IF (GEOTIFF_FOUND) - TARGET_LINK_LIBRARIES( DataExplorer ${GEOTIFF_LIBRARIES} ) -ENDIF () # GEOTIFF_FOUND +if (GEOTIFF_FOUND) + target_link_libraries( DataExplorer ${GEOTIFF_LIBRARIES} ) +endif () # GEOTIFF_FOUND -ADD_DEPENDENCIES ( DataExplorer VtkVis ) +add_dependencies ( DataExplorer VtkVis ) -IF(MSVC) +if(MSVC) # Set linker flags - SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT /IGNORE:4099") - TARGET_LINK_LIBRARIES( DataExplorer winmm) -ENDIF(MSVC) + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT /IGNORE:4099") + target_link_libraries( DataExplorer winmm) +endif(MSVC) ### OpenSG support ### -IF (VTKOSGCONVERTER_FOUND) +if (VTKOSGCONVERTER_FOUND) USE_OPENSG(DataExplorer) - INCLUDE_DIRECTORIES( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) - TARGET_LINK_LIBRARIES( DataExplorer ${VTKOSGCONVERTER_LIBRARIES} ) -ENDIF () + include_directories( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) + target_link_libraries( DataExplorer ${VTKOSGCONVERTER_LIBRARIES} ) +endif () -IF(VTKFBXCONVERTER_FOUND) - TARGET_LINK_LIBRARIES(DataExplorer ${VTKFBXCONVERTER_LIBRARIES}) -ENDIF() +if(VTKFBXCONVERTER_FOUND) + target_link_libraries(DataExplorer ${VTKFBXCONVERTER_LIBRARIES}) +endif() -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(DataExplorer) -SET_PROPERTY(TARGET DataExplorer PROPERTY FOLDER "DataExplorer") +set_property(TARGET DataExplorer PROPERTY FOLDER "DataExplorer") #################### ### Installation ### #################### -IF(APPLE) - INCLUDE(packaging/PackagingMacros) +if(APPLE) + include(packaging/PackagingMacros) ConfigureMacOSXBundle(DataExplorer ${APP_ICON}) - INSTALL (TARGETS DataExplorer DESTINATION .) - SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .) - INCLUDE(InstallRequiredSystemLibraries) - INCLUDE(DeployQt4) + install (TARGETS DataExplorer DESTINATION .) + set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .) + include(InstallRequiredSystemLibraries) + include(DeployQt4) INSTALL_QT4_EXECUTABLE(DataExplorer.app "" "" "" "" "" ogs_gui) -ELSE() - INSTALL (TARGETS DataExplorer RUNTIME DESTINATION bin COMPONENT ogs_gui) -ENDIF() +else() + install (TARGETS DataExplorer RUNTIME DESTINATION bin COMPONENT ogs_gui) +endif() cpack_add_component(ogs_gui DISPLAY_NAME "OGS Data Explorer" @@ -157,42 +157,42 @@ cpack_add_component(ogs_gui ) set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "DataExplorer" "OGS Data Explorer" PARENT_SCOPE) set(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "bin/DataExplorer.exe" "Data Explorer" PARENT_SCOPE) -IF(APPLE) - RETURN() -ENDIF() - -IF(MSVC) - SET(OGS_GUI_EXE ${EXECUTABLE_OUTPUT_PATH}/Release/DataExplorer.exe) -ELSE(MSVC) - SET(OGS_GUI_EXE ${EXECUTABLE_OUTPUT_PATH}/DataExplorer) -ENDIF(MSVC) - -INCLUDE(GetPrerequisites) -IF(EXISTS ${OGS_GUI_EXE}) - IF(MSVC) +if(APPLE) + return() +endif() + +if(MSVC) + set(OGS_GUI_EXE ${EXECUTABLE_OUTPUT_PATH}/Release/DataExplorer.exe) +else(MSVC) + set(OGS_GUI_EXE ${EXECUTABLE_OUTPUT_PATH}/DataExplorer) +endif(MSVC) + +include(GetPrerequisites) +if(EXISTS ${OGS_GUI_EXE}) + if(MSVC) GET_PREREQUISITES(${OGS_GUI_EXE} OGS_GUI_DEPENDENCIES 1 1 "" "") - ELSE() + else() GET_PREREQUISITES(${OGS_GUI_EXE} OGS_GUI_DEPENDENCIES 0 1 "/usr/local/lib;/;${VTK_DIR};/usr/lib64;" "") - ENDIF() - MESSAGE (STATUS "DataExplorer depends on:") - FOREACH(DEPENDENCY ${OGS_GUI_DEPENDENCIES}) - IF(NOT ${DEPENDENCY} STREQUAL "not") # Some bug on Linux? + endif() + message (STATUS "DataExplorer depends on:") + foreach(DEPENDENCY ${OGS_GUI_DEPENDENCIES}) + if(NOT ${DEPENDENCY} STREQUAL "not") # Some bug on Linux? GP_RESOLVE_ITEM ("/" "${DEPENDENCY}" ${OGS_GUI_EXE} "/usr/local/lib;/;${VTK_DIR};/usr/lib64;" DEPENDENCY_PATH) - GET_FILENAME_COMPONENT(RESOLVED_DEPENDENCY_PATH "${DEPENDENCY_PATH}" REALPATH) - STRING(TOLOWER ${DEPENDENCY} DEPENDENCY_LOWER) - IF("${DEPENDENCY_LOWER}" MATCHES "tiff|blas|lapack|proj|jpeg|qt|gfortran|vtk|boost|png") - SET(DEPENDENCY_PATHS ${DEPENDENCY_PATHS} ${RESOLVED_DEPENDENCY_PATH} ${DEPENDENCY_PATH}) - MESSAGE(" ${DEPENDENCY}") - ENDIF() - ENDIF() - ENDFOREACH (DEPENDENCY IN ${OGS_GUI_DEPENDENCIES}) - INSTALL (FILES ${DEPENDENCY_PATHS} DESTINATION bin COMPONENT ogs_gui) - IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - INSTALL(PROGRAMS data-explorer.sh DESTINATION . COMPONENT ogs_gui) - ENDIF() - ADD_CUSTOM_COMMAND(TARGET DataExplorer POST_BUILD COMMAND ;) # For caching: excetuting empty command -ELSE() + get_filename_component(RESOLVED_DEPENDENCY_PATH "${DEPENDENCY_PATH}" REALPATH) + string(TOLOWER ${DEPENDENCY} DEPENDENCY_LOWER) + if("${DEPENDENCY_LOWER}" MATCHES "tiff|blas|lapack|proj|jpeg|qt|gfortran|vtk|boost|png") + set(DEPENDENCY_PATHS ${DEPENDENCY_PATHS} ${RESOLVED_DEPENDENCY_PATH} ${DEPENDENCY_PATH}) + message(" ${DEPENDENCY}") + endif() + endif() + endforeach (DEPENDENCY IN ${OGS_GUI_DEPENDENCIES}) + install (FILES ${DEPENDENCY_PATHS} DESTINATION bin COMPONENT ogs_gui) + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + install(PROGRAMS data-explorer.sh DESTINATION . COMPONENT ogs_gui) + endif() + add_custom_command(TARGET DataExplorer POST_BUILD COMMAND ;) # For caching: excetuting empty command +else() # Run CMake after DataExplorer was built to run GetPrerequisites on executable - ADD_CUSTOM_COMMAND(TARGET DataExplorer POST_BUILD COMMAND ${CMAKE_COMMAND} + add_custom_command(TARGET DataExplorer POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} VERBATIM) -ENDIF() +endif() diff --git a/Applications/DataExplorer/DataView/CMakeLists.txt b/Applications/DataExplorer/DataView/CMakeLists.txt index 1fbd3a7557a203d13822c8cbf4dd22c92e06774d..a350d1129704cbf901bef016e856cbe731bd3019 100644 --- a/Applications/DataExplorer/DataView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/CMakeLists.txt @@ -119,10 +119,10 @@ set( UIS ) # Put filter in a folder -SOURCE_GROUP("Dialog Header Files" REGULAR_EXPRESSION "[.]*Dialog.h") -SOURCE_GROUP("Dialog Source Files" REGULAR_EXPRESSION "[.]*Dialog.cpp") -SOURCE_GROUP("Data Model Header Files" REGULAR_EXPRESSION "[.]*Item.h|[.]*Model.h|[.]*View.h") -SOURCE_GROUP("Data Model Source Files" REGULAR_EXPRESSION "[.]*Item.cpp|[.]*Model.cpp|[.]*View.cpp") +source_group("Dialog Header Files" REGULAR_EXPRESSION "[.]*Dialog.h") +source_group("Dialog Source Files" REGULAR_EXPRESSION "[.]*Dialog.cpp") +source_group("Data Model Header Files" REGULAR_EXPRESSION "[.]*Item.h|[.]*Model.h|[.]*View.h") +source_group("Data Model Source Files" REGULAR_EXPRESSION "[.]*Item.cpp|[.]*Model.cpp|[.]*View.cpp") # Run Qts user interface compiler uic on .ui files qt4_wrap_ui( UI_HEADERS ${UIS} ) @@ -133,8 +133,8 @@ qt4_wrap_cpp( MOC_SOURCES ${MOC_HEADERS} ) # Include the headers which are generated by uic and moc # and include additional header -SET(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) -SET(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) +set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) +set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../Base ${CMAKE_CURRENT_BINARY_DIR} @@ -154,13 +154,13 @@ include_directories( ${GUI_SOURCE_DIR_REL}/VtkVis ) -IF (VTKOSGCONVERTER_FOUND) - INCLUDE_DIRECTORIES( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) -ENDIF (VTKOSGCONVERTER_FOUND) +if (VTKOSGCONVERTER_FOUND) + include_directories( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) +endif (VTKOSGCONVERTER_FOUND) -IF (GEOTIFF_FOUND) - INCLUDE_DIRECTORIES( ${GEOTIFF_INCLUDE_DIRS} ) -ENDIF () # GEOTIFF_FOUND +if (GEOTIFF_FOUND) + include_directories( ${GEOTIFF_INCLUDE_DIRS} ) +endif () # GEOTIFF_FOUND # Put moc files in a project folder source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") @@ -189,11 +189,11 @@ target_link_libraries( QtDataView shp ) -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(QtDataView) -IF (GEOTIFF_FOUND) - TARGET_LINK_LIBRARIES( QtDataView ${GEOTIFF_LIBRARIES} ) -ENDIF () # GEOTIFF_FOUND +if (GEOTIFF_FOUND) + target_link_libraries( QtDataView ${GEOTIFF_LIBRARIES} ) +endif () # GEOTIFF_FOUND set_property(TARGET QtDataView PROPERTY FOLDER "DataExplorer") diff --git a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt index a0ab870c4369fcbbfa6956e87ac4f8b63cfaa513..a2e0df3d5e8cc392442a8e7e3e01c4a5157e2e30 100644 --- a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -SET( SOURCES +set( SOURCES DetailWindow.cpp DiagramList.cpp DiagramPrefsDialog.cpp @@ -10,14 +10,14 @@ SET( SOURCES ) # Moc Header files -SET( MOC_HEADERS +set( MOC_HEADERS DetailWindow.h DiagramPrefsDialog.h DiagramView.h ) # Header files -SET( HEADERS +set( HEADERS DiagramList.h QArrow.h QGraphicsGrid.h @@ -25,7 +25,7 @@ SET( HEADERS ) # UI files -SET( UIS +set( UIS DetailWindow.ui DiagramPrefs.ui ) @@ -38,9 +38,9 @@ QT4_WRAP_CPP( MOC_SOURCES ${MOC_HEADERS} ) # Include the headers which are generated by uic and moc # and include additional header -SET(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) -SET(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) -INCLUDE_DIRECTORIES( +set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) +set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) +include_directories( ${SOURCE_DIR_REL}/BaseLib ${SOURCE_DIR_REL}/GeoLib ${SOURCE_DIR_REL}/MathLib @@ -52,10 +52,10 @@ INCLUDE_DIRECTORIES( ) # Put moc files in a project folder -SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION moc_*) +source_group("Moc Files" REGULAR_EXPRESSION moc_*) # Create the library -ADD_LIBRARY( QtDiagramView STATIC +add_library( QtDiagramView STATIC ${SOURCES} ${HEADERS} ${MOC_HEADERS} @@ -64,9 +64,9 @@ ADD_LIBRARY( QtDiagramView STATIC ) # Link Qt library -TARGET_LINK_LIBRARIES( QtDiagramView +target_link_libraries( QtDiagramView ${QT_LIBRARIES} GeoLib ) -SET_PROPERTY(TARGET QtDiagramView PROPERTY FOLDER "DataExplorer") +set_property(TARGET QtDiagramView PROPERTY FOLDER "DataExplorer") diff --git a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt index 8b655b18f1c3eb4a93938fee1be31a24ce6b3efb..02c1b383e7e3202de55727dc468aa15808c72a64 100644 --- a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt @@ -31,8 +31,8 @@ qt4_wrap_cpp( MOC_SOURCES ${MOC_HEADERS} ) # Include the headers which are generated by uic and moc # and include additional header -SET(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) -SET(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) +set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) +set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} diff --git a/Applications/DataExplorer/VtkAct/CMakeLists.txt b/Applications/DataExplorer/VtkAct/CMakeLists.txt index 5003be038ee1e1a5670fbceadc4de3bde0be0377..eacfb6606b445243d8588e9ca41ae3a73ce713a6 100644 --- a/Applications/DataExplorer/VtkAct/CMakeLists.txt +++ b/Applications/DataExplorer/VtkAct/CMakeLists.txt @@ -50,7 +50,7 @@ add_library( VtkAct STATIC ${UIS} ) -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(VtkAct) target_link_libraries( VtkAct ${QT_LIBRARIES} ) diff --git a/Applications/DataExplorer/VtkVis/CMakeLists.txt b/Applications/DataExplorer/VtkVis/CMakeLists.txt index 8290ee58c9a9952a7b576dacd1b552a919179d43..7c5dec57b10058fff3953fd82b05c27288a1ba83 100644 --- a/Applications/DataExplorer/VtkVis/CMakeLists.txt +++ b/Applications/DataExplorer/VtkVis/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -SET( SOURCES +set( SOURCES MeshFromRasterDialog.cpp QVtkDataSetMapper.cpp VisPrefsDialog.cpp @@ -45,7 +45,7 @@ SET( SOURCES ) # Moc headers -SET( MOC_HEADERS +set( MOC_HEADERS MeshFromRasterDialog.h QVtkDataSetMapper.h VisPrefsDialog.h @@ -61,7 +61,7 @@ SET( MOC_HEADERS ) # Header files -SET( HEADERS +set( HEADERS VtkAppendArrayFilter.h VtkBGImageSource.h VtkColorByHeightFilter.h @@ -95,7 +95,7 @@ SET( HEADERS ) # UI files -SET ( UIS +set ( UIS MeshFromRaster.ui VtkAddFilterDialogBase.ui VtkVisTabWidgetBase.ui @@ -104,16 +104,16 @@ SET ( UIS ) # Put moc files in a project folder -SOURCE_GROUP("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") -SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION "moc_.*") +source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") +source_group("Moc Files" REGULAR_EXPRESSION "moc_.*") # Put filter in a folder -SOURCE_GROUP("Filter Header Files" REGULAR_EXPRESSION "[.]*Filter.h") -SOURCE_GROUP("Filter Source Files" REGULAR_EXPRESSION "[.]*Filter.cpp") +source_group("Filter Header Files" REGULAR_EXPRESSION "[.]*Filter.h") +source_group("Filter Source Files" REGULAR_EXPRESSION "[.]*Filter.cpp") # Put vtk source files in a folder -SOURCE_GROUP("Source Header Files" REGULAR_EXPRESSION "[.]*Source.h") -SOURCE_GROUP("Source Source Files" REGULAR_EXPRESSION "[.]*Source.cpp") +source_group("Source Header Files" REGULAR_EXPRESSION "[.]*Source.h") +source_group("Source Source Files" REGULAR_EXPRESSION "[.]*Source.cpp") # Run Qts user interface compiler uic on .ui files QT4_WRAP_UI( UI_HEADERS ${UIS} ) @@ -121,9 +121,9 @@ QT4_WRAP_UI( UI_HEADERS ${UIS} ) # Run Qts meta object compiler moc on header files QT4_WRAP_CPP( MOC_SOURCES ${MOC_HEADERS} ) -SET(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) -SET(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) -INCLUDE_DIRECTORIES( +set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) +set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) +include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${SOURCE_DIR_REL}/BaseLib ${SOURCE_DIR_REL}/GeoLib @@ -140,7 +140,7 @@ INCLUDE_DIRECTORIES( ) # Create the library -ADD_LIBRARY( VtkVis STATIC +add_library( VtkVis STATIC ${SOURCES} ${HEADERS} ${MOC_HEADERS} @@ -148,21 +148,21 @@ ADD_LIBRARY( VtkVis STATIC ${UIS} ) -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(VtkVis) -IF (GEOTIFF_FOUND) - INCLUDE_DIRECTORIES( ${GEOTIFF_INCLUDE_DIRS} ) - TARGET_LINK_LIBRARIES( VtkVis ${GEOTIFF_LIBRARIES} ) -ENDIF () # GEOTIFF_FOUND +if (GEOTIFF_FOUND) + include_directories( ${GEOTIFF_INCLUDE_DIRS} ) + target_link_libraries( VtkVis ${GEOTIFF_LIBRARIES} ) +endif () # GEOTIFF_FOUND -TARGET_LINK_LIBRARIES( VtkVis ${QT_LIBRARIES} ) +target_link_libraries( VtkVis ${QT_LIBRARIES} ) -ADD_DEPENDENCIES(VtkVis QtDataView) +add_dependencies(VtkVis QtDataView) -IF (VTKOSGCONVERTER_FOUND) +if (VTKOSGCONVERTER_FOUND) USE_OPENSG(VtkVis) - INCLUDE_DIRECTORIES( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) -ENDIF () + include_directories( ${VTKOSGCONVERTER_INCLUDE_DIRS} ) +endif () set_property(TARGET VtkVis PROPERTY FOLDER "DataExplorer") diff --git a/Applications/Utils/CMakeLists.txt b/Applications/Utils/CMakeLists.txt index 56386eb5b5ce4ee0bec70545e65e40f6868e471d..7e1b626e285230b59e6d084d46585c466f0df206 100644 --- a/Applications/Utils/CMakeLists.txt +++ b/Applications/Utils/CMakeLists.txt @@ -1,8 +1,8 @@ -ADD_SUBDIRECTORY( FileConverter ) -ADD_SUBDIRECTORY( GeoTools ) -ADD_SUBDIRECTORY( MeshEdit ) -ADD_SUBDIRECTORY( SimpleMeshCreation ) +add_subdirectory( FileConverter ) +add_subdirectory( GeoTools ) +add_subdirectory( MeshEdit ) +add_subdirectory( SimpleMeshCreation ) -IF(OGS_BUILD_GUI) - ADD_SUBDIRECTORY(OGSFileConverter) -ENDIF() # OGS_BUILD_GUI +if(OGS_BUILD_GUI) + add_subdirectory(OGSFileConverter) +endif() # OGS_BUILD_GUI diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt index 1bc09188ab697a670a9f99cf6287e84cefe57a8e..e282a8a07a198302448932004a91de96989b6a7f 100644 --- a/Applications/Utils/FileConverter/CMakeLists.txt +++ b/Applications/Utils/FileConverter/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_SOURCE_DIR}/Utils/FileConverter ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/GeoLib @@ -9,11 +9,11 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/Gui/OpenSG ) -IF (QT4_FOUND) - ADD_EXECUTABLE( ConvertSHPToGLI ConvertSHPToGLI.cpp ) - SET_TARGET_PROPERTIES(ConvertSHPToGLI PROPERTIES FOLDER Utilities) +if (QT4_FOUND) + add_executable( ConvertSHPToGLI ConvertSHPToGLI.cpp ) + set_target_properties(ConvertSHPToGLI PROPERTIES FOLDER Utilities) - TARGET_LINK_LIBRARIES( ConvertSHPToGLI + target_link_libraries( ConvertSHPToGLI FileIO GeoLib BaseLib @@ -21,28 +21,28 @@ IF (QT4_FOUND) ${QT_LIBRARIES} ) - ADD_EXECUTABLE (generateBCandGLI generateBCandGLI.cpp ) - TARGET_LINK_LIBRARIES (generateBCandGLI + add_executable (generateBCandGLI generateBCandGLI.cpp ) + target_link_libraries (generateBCandGLI ApplicationsLib FileIO GeoLib ${QT_LIBRARIES} ) - ADD_EXECUTABLE (generateBCFromPolyline generateBCFromPolyline.cpp ) - TARGET_LINK_LIBRARIES (generateBCFromPolyline + add_executable (generateBCFromPolyline generateBCFromPolyline.cpp ) + target_link_libraries (generateBCFromPolyline ApplicationsLib FileIO GeoLib ${QT_LIBRARIES} ) - SET_TARGET_PROPERTIES(generateBCandGLI generateBCFromPolyline + set_target_properties(generateBCandGLI generateBCFromPolyline PROPERTIES FOLDER Utilities) - ADD_EXECUTABLE (FEFLOW2OGS FEFLOW2OGS.cpp) - SET_TARGET_PROPERTIES(FEFLOW2OGS PROPERTIES FOLDER Utilities) - TARGET_LINK_LIBRARIES (FEFLOW2OGS + add_executable (FEFLOW2OGS FEFLOW2OGS.cpp) + set_target_properties(FEFLOW2OGS PROPERTIES FOLDER Utilities) + target_link_libraries (FEFLOW2OGS GeoLib MeshLib FileIO @@ -51,11 +51,11 @@ IF (QT4_FOUND) ${QT_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(FEFLOW2OGS) -ENDIF () # QT4_FOUND +endif () # QT4_FOUND -IF (Boost_FOUND) - ADD_EXECUTABLE (generateMatPropsFromMatID generateMatPropsFromMatID.cpp ) - TARGET_LINK_LIBRARIES (generateMatPropsFromMatID +if (Boost_FOUND) + add_executable (generateMatPropsFromMatID generateMatPropsFromMatID.cpp ) + target_link_libraries (generateMatPropsFromMatID FileIO MeshLib logog @@ -63,26 +63,26 @@ IF (Boost_FOUND) ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(generateMatPropsFromMatID) - SET_TARGET_PROPERTIES(generateMatPropsFromMatID + set_target_properties(generateMatPropsFromMatID PROPERTIES FOLDER Utilities) -ENDIF () # Boost_FOUND +endif () # Boost_FOUND -ADD_EXECUTABLE (GMSH2OGS GMSH2OGS.cpp) -SET_TARGET_PROPERTIES(GMSH2OGS PROPERTIES FOLDER Utilities) -TARGET_LINK_LIBRARIES (GMSH2OGS +add_executable (GMSH2OGS GMSH2OGS.cpp) +set_target_properties(GMSH2OGS PROPERTIES FOLDER Utilities) +target_link_libraries (GMSH2OGS MeshLib FileIO InSituLib ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(GMSH2OGS) -IF(MSVC) - TARGET_LINK_LIBRARIES (GMSH2OGS winmm) -ENDIF() +if(MSVC) + target_link_libraries (GMSH2OGS winmm) +endif() -ADD_EXECUTABLE (OGS2VTK OGS2VTK.cpp) -SET_TARGET_PROPERTIES(OGS2VTK PROPERTIES FOLDER Utilities) -TARGET_LINK_LIBRARIES (OGS2VTK +add_executable (OGS2VTK OGS2VTK.cpp) +set_target_properties(OGS2VTK PROPERTIES FOLDER Utilities) +target_link_libraries (OGS2VTK MeshLib FileIO zlib @@ -91,9 +91,9 @@ TARGET_LINK_LIBRARIES (OGS2VTK ) ADD_CATALYST_DEPENDENCY(OGS2VTK) -ADD_EXECUTABLE (VTK2OGS VTK2OGS.cpp) -SET_TARGET_PROPERTIES(VTK2OGS PROPERTIES FOLDER Utilities) -TARGET_LINK_LIBRARIES (VTK2OGS +add_executable (VTK2OGS VTK2OGS.cpp) +set_target_properties(VTK2OGS PROPERTIES FOLDER Utilities) +target_link_libraries (VTK2OGS MeshLib FileIO zlib @@ -102,9 +102,9 @@ TARGET_LINK_LIBRARIES (VTK2OGS ) ADD_CATALYST_DEPENDENCY(VTK2OGS) -ADD_EXECUTABLE (VTK2TIN VTK2TIN.cpp) -SET_TARGET_PROPERTIES(VTK2TIN PROPERTIES FOLDER Utilities) -TARGET_LINK_LIBRARIES (VTK2TIN +add_executable (VTK2TIN VTK2TIN.cpp) +set_target_properties(VTK2TIN PROPERTIES FOLDER Utilities) +target_link_libraries (VTK2TIN MeshLib FileIO zlib @@ -113,9 +113,9 @@ TARGET_LINK_LIBRARIES (VTK2TIN ) ADD_CATALYST_DEPENDENCY(VTK2TIN) -ADD_EXECUTABLE (TIN2VTK TIN2VTK.cpp) -SET_TARGET_PROPERTIES(TIN2VTK PROPERTIES FOLDER Utilities) -TARGET_LINK_LIBRARIES (TIN2VTK +add_executable (TIN2VTK TIN2VTK.cpp) +set_target_properties(TIN2VTK PROPERTIES FOLDER Utilities) +target_link_libraries (TIN2VTK MeshLib FileIO zlib @@ -127,13 +127,13 @@ ADD_CATALYST_DEPENDENCY(TIN2VTK) #################### ### Installation ### #################### -INSTALL(TARGETS generateMatPropsFromMatID GMSH2OGS OGS2VTK VTK2OGS VTK2TIN +install(TARGETS generateMatPropsFromMatID GMSH2OGS OGS2VTK VTK2OGS VTK2TIN RUNTIME DESTINATION bin COMPONENT ogs_converter) -IF(QT4_FOUND) - INSTALL(TARGETS ConvertSHPToGLI generateBCandGLI generateBCFromPolyline generateBCandGLI +if(QT4_FOUND) + install(TARGETS ConvertSHPToGLI generateBCandGLI generateBCFromPolyline generateBCandGLI FEFLOW2OGS RUNTIME DESTINATION bin COMPONENT ogs_converter) -ENDIF() +endif() cpack_add_component(ogs_converter DISPLAY_NAME "File converter" diff --git a/Applications/Utils/GeoTools/CMakeLists.txt b/Applications/Utils/GeoTools/CMakeLists.txt index 2d2a58ba2454a0edd1f1006c24a1d84e16a592f1..676185cfe4038d872899b0a726925e99f84aee03 100644 --- a/Applications/Utils/GeoTools/CMakeLists.txt +++ b/Applications/Utils/GeoTools/CMakeLists.txt @@ -1,4 +1,4 @@ -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/GeoLib @@ -6,13 +6,13 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/MathLib ) -IF(QT4_FOUND) - ADD_EXECUTABLE( TriangulatePolyline TriangulatePolyline.cpp ) - TARGET_LINK_LIBRARIES( TriangulatePolyline +if(QT4_FOUND) + add_executable( TriangulatePolyline TriangulatePolyline.cpp ) + target_link_libraries( TriangulatePolyline BaseLib FileIO MathLib ${QT_LIBRARIES} ) - SET_TARGET_PROPERTIES(TriangulatePolyline PROPERTIES FOLDER Utilities) -ENDIF() # QT4_FOUND + set_target_properties(TriangulatePolyline PROPERTIES FOLDER Utilities) +endif() # QT4_FOUND diff --git a/Applications/Utils/MeshEdit/CMakeLists.txt b/Applications/Utils/MeshEdit/CMakeLists.txt index d3649ee77f3c2cd256ebd172e9a1d25b1004befe..65c1d5b841a63eddb39ee0983d85a41b34407c55 100644 --- a/Applications/Utils/MeshEdit/CMakeLists.txt +++ b/Applications/Utils/MeshEdit/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/GeoLib @@ -10,10 +10,10 @@ INCLUDE_DIRECTORIES( ) # Create executables -IF(QT4_FOUND) +if(QT4_FOUND) - ADD_EXECUTABLE( moveMeshNodes moveMeshNodes.cpp ) - TARGET_LINK_LIBRARIES( moveMeshNodes + add_executable( moveMeshNodes moveMeshNodes.cpp ) + target_link_libraries( moveMeshNodes BaseLib FileIO MathLib @@ -24,13 +24,13 @@ IF(QT4_FOUND) ) ADD_CATALYST_DEPENDENCY(moveMeshNodes) - SET_TARGET_PROPERTIES(moveMeshNodes + set_target_properties(moveMeshNodes PROPERTIES FOLDER Utilities) -ENDIF() # QT4_FOUND +endif() # QT4_FOUND -ADD_EXECUTABLE( removeMeshElements removeMeshElements.cpp ) -TARGET_LINK_LIBRARIES( removeMeshElements +add_executable( removeMeshElements removeMeshElements.cpp ) +target_link_libraries( removeMeshElements BaseLib FileIO MathLib @@ -39,30 +39,30 @@ TARGET_LINK_LIBRARIES( removeMeshElements ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(removeMeshElements) -SET_TARGET_PROPERTIES(removeMeshElements PROPERTIES FOLDER Utilities) +set_target_properties(removeMeshElements PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( DataExplorer5NodeReordering DataExplorer5NodeReordering.cpp ) -TARGET_LINK_LIBRARIES( DataExplorer5NodeReordering +add_executable( DataExplorer5NodeReordering DataExplorer5NodeReordering.cpp ) +target_link_libraries( DataExplorer5NodeReordering FileIO MeshLib InSituLib ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(DataExplorer5NodeReordering) -SET_TARGET_PROPERTIES(DataExplorer5NodeReordering PROPERTIES FOLDER Utilities) +set_target_properties(DataExplorer5NodeReordering PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( MoveMesh MoveMesh.cpp ) -TARGET_LINK_LIBRARIES( MoveMesh +add_executable( MoveMesh MoveMesh.cpp ) +target_link_libraries( MoveMesh FileIO MeshLib InSituLib ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(MoveMesh) -SET_TARGET_PROPERTIES(MoveMesh PROPERTIES FOLDER Utilities) +set_target_properties(MoveMesh PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( appendLinesAlongPolyline appendLinesAlongPolyline.cpp ) -TARGET_LINK_LIBRARIES( appendLinesAlongPolyline +add_executable( appendLinesAlongPolyline appendLinesAlongPolyline.cpp ) +target_link_libraries( appendLinesAlongPolyline BaseLib FileIO MathLib @@ -73,11 +73,11 @@ TARGET_LINK_LIBRARIES( appendLinesAlongPolyline ) ADD_CATALYST_DEPENDENCY(appendLinesAlongPolyline) -SET_TARGET_PROPERTIES(appendLinesAlongPolyline +set_target_properties(appendLinesAlongPolyline PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( editMaterialID editMaterialID.cpp ) -TARGET_LINK_LIBRARIES( editMaterialID +add_executable( editMaterialID editMaterialID.cpp ) +target_link_libraries( editMaterialID BaseLib FileIO MathLib @@ -87,11 +87,11 @@ TARGET_LINK_LIBRARIES( editMaterialID ) ADD_CATALYST_DEPENDENCY(editMaterialID) -SET_TARGET_PROPERTIES(editMaterialID +set_target_properties(editMaterialID PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( checkMesh checkMesh.cpp) -TARGET_LINK_LIBRARIES ( checkMesh +add_executable( checkMesh checkMesh.cpp) +target_link_libraries ( checkMesh BaseLib FileIO MathLib @@ -101,11 +101,11 @@ TARGET_LINK_LIBRARIES ( checkMesh ) ADD_CATALYST_DEPENDENCY(checkMesh) -SET_TARGET_PROPERTIES(checkMesh +set_target_properties(checkMesh PROPERTIES FOLDER Utilities) -ADD_EXECUTABLE( reviseMesh reviseMesh.cpp) -TARGET_LINK_LIBRARIES ( reviseMesh +add_executable( reviseMesh reviseMesh.cpp) +target_link_libraries ( reviseMesh BaseLib FileIO MathLib @@ -115,6 +115,6 @@ TARGET_LINK_LIBRARIES ( reviseMesh ) ADD_CATALYST_DEPENDENCY(reviseMesh) -SET_TARGET_PROPERTIES(reviseMesh +set_target_properties(reviseMesh PROPERTIES FOLDER Utilities) \ No newline at end of file diff --git a/Applications/Utils/OGSFileConverter/CMakeLists.txt b/Applications/Utils/OGSFileConverter/CMakeLists.txt index ca4bb6362b6749f7c18ee45f1aa7564650ae0021..303351dc3510f00f0589069fc41df94f657ebf01 100644 --- a/Applications/Utils/OGSFileConverter/CMakeLists.txt +++ b/Applications/Utils/OGSFileConverter/CMakeLists.txt @@ -5,24 +5,24 @@ cmake_minimum_required(VERSION 2.8.3) project( OGSFileConverter ) # Source files -SET( SOURCES +set( SOURCES FileListDialog.cpp OGSFileConverter.cpp ) # Moc Header files -SET( MOC_HEADERS +set( MOC_HEADERS FileListDialog.h OGSFileConverter.h ) # Header files -SET( HEADERS +set( HEADERS ) # UI files -SET( UIS +set( UIS FileList.ui OGSFileConverter.ui ) @@ -38,7 +38,7 @@ QT4_WRAP_CPP( MOC_SOURCES ${MOC_HEADERS} ) # Include the headers which are generated by uic and moc # and include additional header -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_BINARY_DIR}/Applications/Utils/OGSFileConverter ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/FileIO @@ -50,11 +50,11 @@ INCLUDE_DIRECTORIES( ) # Put moc files in a project folder -SOURCE_GROUP("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") -SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION "moc_.*") +source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") +source_group("Moc Files" REGULAR_EXPRESSION "moc_.*") # Create the library -ADD_EXECUTABLE( OGSFileConverter +add_executable( OGSFileConverter main.cpp ${SOURCES} ${HEADERS} @@ -63,7 +63,7 @@ ADD_EXECUTABLE( OGSFileConverter ${UIS} ) -TARGET_LINK_LIBRARIES( OGSFileConverter +target_link_libraries( OGSFileConverter ${QT_LIBRARIES} ApplicationsLib FileIO @@ -78,7 +78,7 @@ ADD_CATALYST_DEPENDENCY(OGSFileConverter) # Adds useful macros and variables # this is needed to correctly link the qt and vtk libraries through target_link_libraries -INCLUDE( ${QT_USE_FILE} ) +include( ${QT_USE_FILE} ) # Set build configuration types # "RelWithDebInfo" and "MinSizeRelease" can be added here @@ -89,12 +89,12 @@ set ( CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE TYPE INTERNAL FORCE ) set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib ) -SET_PROPERTY(TARGET OGSFileConverter PROPERTY FOLDER "Utilities") +set_property(TARGET OGSFileConverter PROPERTY FOLDER "Utilities") #################### ### Installation ### #################### -INSTALL (TARGETS OGSFileConverter RUNTIME DESTINATION bin COMPONENT ogs_cli) +install (TARGETS OGSFileConverter RUNTIME DESTINATION bin COMPONENT ogs_cli) set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "OGSFileConverter" "File Converter") set(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "bin/OGSFileConverter.exe" "File Converter" PARENT_SCOPE) diff --git a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt index c44898badb4cfa2c0c21e848c5d37d86fb3fb66c..82e27157a9da72c2aa77ba79054174a249e80768 100644 --- a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt +++ b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/FileIO @@ -10,11 +10,11 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/Gui/VtkVis ) -IF(TARGET VtkVis) +if(TARGET VtkVis) - ADD_EXECUTABLE( generateStructuredQuadMesh generateStructuredQuadMesh.cpp ) - SET_TARGET_PROPERTIES( generateStructuredQuadMesh PROPERTIES FOLDER Utils) - TARGET_LINK_LIBRARIES( generateStructuredQuadMesh + add_executable( generateStructuredQuadMesh generateStructuredQuadMesh.cpp ) + set_target_properties( generateStructuredQuadMesh PROPERTIES FOLDER Utils) + target_link_libraries( generateStructuredQuadMesh MeshLib FileIO GeoLib @@ -25,9 +25,9 @@ IF(TARGET VtkVis) ) ADD_CATALYST_DEPENDENCY(generateStructuredQuadMesh) - ADD_EXECUTABLE( createMeshElemPropertiesFromASCRaster createMeshElemPropertiesFromASCRaster.cpp ) - SET_TARGET_PROPERTIES( createMeshElemPropertiesFromASCRaster PROPERTIES FOLDER Utils) - TARGET_LINK_LIBRARIES( createMeshElemPropertiesFromASCRaster + add_executable( createMeshElemPropertiesFromASCRaster createMeshElemPropertiesFromASCRaster.cpp ) + set_target_properties( createMeshElemPropertiesFromASCRaster PROPERTIES FOLDER Utils) + target_link_libraries( createMeshElemPropertiesFromASCRaster MeshLib FileIO VtkVis @@ -37,15 +37,15 @@ IF(TARGET VtkVis) ) ADD_CATALYST_DEPENDENCY(createMeshElemPropertiesFromASCRaster) -ENDIF() # VtkVis-target is existing +endif() # VtkVis-target is existing -ADD_EXECUTABLE( generateStructuredMesh generateStructuredMesh.cpp ) -TARGET_LINK_LIBRARIES( generateStructuredMesh +add_executable( generateStructuredMesh generateStructuredMesh.cpp ) +target_link_libraries( generateStructuredMesh BaseLib FileIO MathLib MeshLib ) -SET_TARGET_PROPERTIES(generateStructuredMesh PROPERTIES FOLDER Utilities) +set_target_properties(generateStructuredMesh PROPERTIES FOLDER Utilities) diff --git a/AssemblerLib/CMakeLists.txt b/AssemblerLib/CMakeLists.txt index 27cdff53542f05b3562d1329544306e07b2d6d09..478fc16afe3190e5db664379a8350ef65a35d0f2 100644 --- a/AssemblerLib/CMakeLists.txt +++ b/AssemblerLib/CMakeLists.txt @@ -1,11 +1,11 @@ #Source files grouped by a directory GET_SOURCE_FILES(SOURCES_ASSEMBLERLIB) -SET ( SOURCES ${SOURCES_ASSEMBLERLIB}) +set ( SOURCES ${SOURCES_ASSEMBLERLIB}) # Create the library -ADD_LIBRARY( AssemblerLib STATIC ${SOURCES} ) +add_library( AssemblerLib STATIC ${SOURCES} ) -INCLUDE_DIRECTORIES ( +include_directories ( . ../BaseLib ../GeoLib @@ -13,7 +13,7 @@ INCLUDE_DIRECTORIES ( ../MeshLib ) -TARGET_LINK_LIBRARIES (AssemblerLib +target_link_libraries (AssemblerLib ${Boost_LIBRARIES} MeshLib ) diff --git a/BaseLib/CMakeLists.txt b/BaseLib/CMakeLists.txt index 4ccc1008d13b462fc32378ac0faf42ad61436e4d..562abaa5cfb4462e593120491140e55bb61b59d9 100644 --- a/BaseLib/CMakeLists.txt +++ b/BaseLib/CMakeLists.txt @@ -2,21 +2,21 @@ GET_SOURCE_FILES(SOURCES) -LIST(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/BuildInfo.cpp" BuildInfo.h) +list(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/BuildInfo.cpp" BuildInfo.h) # Create the library -ADD_LIBRARY( BaseLib STATIC ${SOURCES}) +add_library( BaseLib STATIC ${SOURCES}) -SET_TARGET_PROPERTIES(BaseLib PROPERTIES LINKER_LANGUAGE CXX) +set_target_properties(BaseLib PROPERTIES LINKER_LANGUAGE CXX) -INCLUDE_DIRECTORIES( +include_directories( . ) -TARGET_LINK_LIBRARIES( BaseLib +target_link_libraries( BaseLib ${Boost_LIBRARIES} ) -IF(WIN32) - TARGET_LINK_LIBRARIES( BaseLib WinMM ) -ENDIF() +if(WIN32) + target_link_libraries( BaseLib WinMM ) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fb3ed6620e60dced983120eea481eaf68904dfe..4be6664bf0104648ee97441319170ca5dc74a97c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,177 +3,177 @@ ##################### # Specify minimum CMake version -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) +cmake_minimum_required(VERSION 2.8.8) # Set CMake policies -CMAKE_POLICY(SET CMP0011 OLD) -IF(CMAKE_VERSION VERSION_GREATER 3.0.2) - CMAKE_POLICY(SET CMP0054 NEW) -ENDIF() +cmake_policy(SET CMP0011 OLD) +if(CMAKE_VERSION VERSION_GREATER 3.0.2) + cmake_policy(SET CMP0054 NEW) +endif() # Project name -PROJECT( OGS-6 ) +project( OGS-6 ) ########################### ### Preliminary Options ### ########################### -OPTION(OGS_NO_BOOST_DOWNLOAD "Always use the system installed Boost?" OFF) -SET(CMAKE_LIBRARY_SEARCH_PATH "" CACHE PATH +option(OGS_NO_BOOST_DOWNLOAD "Always use the system installed Boost?" OFF) +set(CMAKE_LIBRARY_SEARCH_PATH "" CACHE PATH "Additional library installation path, e.g. /opt/local or C:/libs") ### CMake includes ### -INCLUDE(scripts/cmake/CheckTypeSizes.cmake) -INCLUDE(scripts/cmake/Functions.cmake) -INCLUDE(scripts/cmake/CMakeSetup.cmake) -INCLUDE(scripts/cmake/CompilerSetup.cmake) -INCLUDE(scripts/cmake/Find.cmake) -INCLUDE(scripts/cmake/SubmoduleSetup.cmake) -INCLUDE(scripts/cmake/ProjectSetup.cmake) -INCLUDE(scripts/cmake/DocumentationSetup.cmake) -IF(CMAKE_VERSION VERSION_GREATER 2.8.10) - INCLUDE(scripts/cmake/test/Test.cmake) -ENDIF() -IF(OGS_COVERAGE AND NOT IS_SUBPROJECT) - INCLUDE(scripts/cmake/Coverage.cmake) -ENDIF() +include(scripts/cmake/CheckTypeSizes.cmake) +include(scripts/cmake/Functions.cmake) +include(scripts/cmake/CMakeSetup.cmake) +include(scripts/cmake/CompilerSetup.cmake) +include(scripts/cmake/Find.cmake) +include(scripts/cmake/SubmoduleSetup.cmake) +include(scripts/cmake/ProjectSetup.cmake) +include(scripts/cmake/DocumentationSetup.cmake) +if(CMAKE_VERSION VERSION_GREATER 2.8.10) + include(scripts/cmake/test/Test.cmake) +endif() +if(OGS_COVERAGE AND NOT IS_SUBPROJECT) + include(scripts/cmake/Coverage.cmake) +endif() #################### ### More Options ### #################### # Profiling -IF((CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) AND GPROF_PATH) - OPTION(OGS_PROFILE "Enables compiling with flags set for profiling with gprof." OFF) -ENDIF() # GCC AND GPROF_PATH +if((CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) AND GPROF_PATH) + option(OGS_PROFILE "Enables compiling with flags set for profiling with gprof." OFF) +endif() # GCC AND GPROF_PATH # Enable / Disable parts -OPTION(OGS_DONT_USE_QT "Disables all Qt specific code." OFF) +option(OGS_DONT_USE_QT "Disables all Qt specific code." OFF) -OPTION(OGS_BUILD_CLI "Should the OGS simulator be built?" ON) -OPTION(OGS_BUILD_TESTS "Should the test executables be built?" ON) -OPTION(OGS_BUILD_GUI "Should the Data Explorer be built?" OFF) -OPTION(OGS_BUILD_UTILS "Should the utilities programms be built?" OFF) +option(OGS_BUILD_CLI "Should the OGS simulator be built?" ON) +option(OGS_BUILD_TESTS "Should the test executables be built?" ON) +option(OGS_BUILD_GUI "Should the Data Explorer be built?" OFF) +option(OGS_BUILD_UTILS "Should the utilities programms be built?" OFF) -OPTION(OGS_NO_EXTERNAL_LIBS "Builds OGS without any external dependencies." OFF) +option(OGS_NO_EXTERNAL_LIBS "Builds OGS without any external dependencies." OFF) # Linear solvers -OPTION(OGS_USE_LIS "Use Lis" OFF) +option(OGS_USE_LIS "Use Lis" OFF) # Parallel computing: vector and matrix algebraic caculation, solvers -OPTION(OGS_USE_PETSC "Use PETSc routines" OFF) +option(OGS_USE_PETSC "Use PETSc routines" OFF) # Paralleization -OPTION(OGS_USE_MPI "Use MPI" OFF) +option(OGS_USE_MPI "Use MPI" OFF) # Eigen -OPTION(OGS_USE_EIGEN "Use EIGEN for local matrix and vector" ON) -OPTION(EIGEN_NO_DEBUG "Disables Eigen's assertions" ON) +option(OGS_USE_EIGEN "Use EIGEN for local matrix and vector" ON) +option(EIGEN_NO_DEBUG "Disables Eigen's assertions" ON) # Logging -OPTION(OGS_DISABLE_LOGGING "Disables all logog messages." OFF) +option(OGS_DISABLE_LOGGING "Disables all logog messages." OFF) # Compiler flags -SET(OGS_CXX_FLAGS "" CACHE STRING "Additional C++ compiler flags.") +set(OGS_CXX_FLAGS "" CACHE STRING "Additional C++ compiler flags.") # Print CMake variable values -IF (OGS_CMAKE_DEBUG) - INCLUDE(ListAllCMakeVariableValues) +if (OGS_CMAKE_DEBUG) + include(ListAllCMakeVariableValues) list_all_cmake_variable_values() -ENDIF (OGS_CMAKE_DEBUG) +endif (OGS_CMAKE_DEBUG) # Code coverage -OPTION(OGS_COVERAGE "Enables code coverage measurements with gcov/lcov." OFF) +option(OGS_COVERAGE "Enables code coverage measurements with gcov/lcov." OFF) # Packaging -OPTION(OGS_DOWNLOAD_ADDITIONAL_CONTENT "Should addional content such as manuals be downloaded and packaged?" OFF) -INCLUDE(scripts/cmake/packaging/Pack.cmake) +option(OGS_DOWNLOAD_ADDITIONAL_CONTENT "Should addional content such as manuals be downloaded and packaged?" OFF) +include(scripts/cmake/packaging/Pack.cmake) ###################### ### Subdirectories ### ###################### # External projects -OPTION(Boost_USE_STATIC_LIBS "This option has to be set from the command line (before boost gets found)!" OFF) -INCLUDE(scripts/cmake/ExternalProjectBoost.cmake) -OPTION(OGS_SYSTEM_VTK_ONLY "If On VTK / ParaView will be searched if installed and will not be build locally." OFF) -INCLUDE(scripts/cmake/ExternalProjectCatalyst.cmake) +option(Boost_USE_STATIC_LIBS "This option has to be set from the command line (before boost gets found)!" OFF) +include(scripts/cmake/ExternalProjectBoost.cmake) +option(OGS_SYSTEM_VTK_ONLY "If On VTK / ParaView will be searched if installed and will not be build locally." OFF) +include(scripts/cmake/ExternalProjectCatalyst.cmake) -INCLUDE_DIRECTORIES( SYSTEM ${Boost_INCLUDE_DIRS} ) -IF(OGS_USE_EIGEN) - INCLUDE(scripts/cmake/ExternalProjectEigen.cmake) -ENDIF() +include_directories( SYSTEM ${Boost_INCLUDE_DIRS} ) +if(OGS_USE_EIGEN) + include(scripts/cmake/ExternalProjectEigen.cmake) +endif() # Add subdirectories with the projects -ADD_SUBDIRECTORY( ThirdParty ) -INCLUDE_DIRECTORIES( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty ) -INCLUDE_DIRECTORIES( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/gtest/include ) -INCLUDE_DIRECTORIES( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/quickcheck ) -INCLUDE_DIRECTORIES( SYSTEM ${CMAKE_CURRENT_BINARY_DIR}/ThirdParty/zlib ) +add_subdirectory( ThirdParty ) +include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty ) +include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/gtest/include ) +include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/quickcheck ) +include_directories( SYSTEM ${CMAKE_CURRENT_BINARY_DIR}/ThirdParty/zlib ) -IF(OGS_USE_LIS) - ADD_DEFINITIONS(-DUSE_LIS) - INCLUDE_DIRECTORIES(SYSTEM ${LIS_INCLUDE_DIR}) -ENDIF() +if(OGS_USE_LIS) + add_definitions(-DUSE_LIS) + include_directories(SYSTEM ${LIS_INCLUDE_DIR}) +endif() # Use PETSc package for global assembly and linear sover for parallel computing -IF(OGS_USE_PETSC) - ADD_DEFINITIONS(-DUSE_PETSC) - SET(OGS_USE_MPI ON) -ENDIF() +if(OGS_USE_PETSC) + add_definitions(-DUSE_PETSC) + set(OGS_USE_MPI ON) +endif() # Use MPI -IF(OGS_USE_MPI) - ADD_DEFINITIONS(-DUSE_MPI) -ENDIF() - -IF(OGS_USE_EIGEN) -# ADD_DEFINITIONS(-DEIGEN_DEFAULT_DENSE_INDEX_TYPE=std::size_t) - ADD_DEFINITIONS(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) - ADD_DEFINITIONS(-DOGS_USE_EIGEN) - IF (EIGEN_NO_DEBUG) - ADD_DEFINITIONS(-DEIGEN_NO_DEBUG) - ENDIF() - INCLUDE_DIRECTORIES (SYSTEM ${EIGEN3_INCLUDE_DIR}) -ENDIF() - -ADD_SUBDIRECTORY( Applications ) -ADD_SUBDIRECTORY( AssemblerLib ) -ADD_SUBDIRECTORY( BaseLib ) +if(OGS_USE_MPI) + add_definitions(-DUSE_MPI) +endif() + +if(OGS_USE_EIGEN) +# add_definitions(-DEIGEN_DEFAULT_DENSE_INDEX_TYPE=std::size_t) + add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) + add_definitions(-DOGS_USE_EIGEN) + if (EIGEN_NO_DEBUG) + add_definitions(-DEIGEN_NO_DEBUG) + endif() + include_directories (SYSTEM ${EIGEN3_INCLUDE_DIR}) +endif() + +add_subdirectory( Applications ) +add_subdirectory( AssemblerLib ) +add_subdirectory( BaseLib ) # TODO This is a hack but we have to make sure that Boost is built first -IF(TARGET Boost) - ADD_DEPENDENCIES(BaseLib Boost) -ENDIF() -ADD_SUBDIRECTORY( FileIO ) -ADD_SUBDIRECTORY( GeoLib ) -ADD_SUBDIRECTORY( InSituLib ) -ADD_SUBDIRECTORY( MathLib ) -ADD_SUBDIRECTORY( MeshLib ) -ADD_SUBDIRECTORY( MeshGeoToolsLib ) -ADD_SUBDIRECTORY( NumLib ) -ADD_SUBDIRECTORY( ProcessLib ) -IF( OGS_BUILD_TESTS AND NOT IS_SUBPROJECT ) - IF(CMAKE_VERSION VERSION_LESS 2.8.11) - MESSAGE(FATAL_ERROR "CMAKE 2.8.11 or higher is required to build the tests!") - ENDIF() - ADD_SUBDIRECTORY( Tests ) - - IF(OGS_USE_MPI) - ADD_SUBDIRECTORY( SimpleTests/MeshTests/MPI ) - ELSE() - ADD_SUBDIRECTORY( SimpleTests/MatrixTests EXCLUDE_FROM_ALL ) - ADD_SUBDIRECTORY( SimpleTests/MeshTests EXCLUDE_FROM_ALL ) - IF(NOT MSVC AND BLAS_FOUND AND LAPACK_FOUND) - ADD_SUBDIRECTORY( SimpleTests/SolverTests EXCLUDE_FROM_ALL ) - ENDIF() - ENDIF() +if(TARGET Boost) + add_dependencies(BaseLib Boost) +endif() +add_subdirectory( FileIO ) +add_subdirectory( GeoLib ) +add_subdirectory( InSituLib ) +add_subdirectory( MathLib ) +add_subdirectory( MeshLib ) +add_subdirectory( MeshGeoToolsLib ) +add_subdirectory( NumLib ) +add_subdirectory( ProcessLib ) +if( OGS_BUILD_TESTS AND NOT IS_SUBPROJECT ) + if(CMAKE_VERSION VERSION_LESS 2.8.11) + message(FATAL_ERROR "CMAKE 2.8.11 or higher is required to build the tests!") + endif() + add_subdirectory( Tests ) + + if(OGS_USE_MPI) + add_subdirectory( SimpleTests/MeshTests/MPI ) + else() + add_subdirectory( SimpleTests/MatrixTests EXCLUDE_FROM_ALL ) + add_subdirectory( SimpleTests/MeshTests EXCLUDE_FROM_ALL ) + if(NOT MSVC AND BLAS_FOUND AND LAPACK_FOUND) + add_subdirectory( SimpleTests/SolverTests EXCLUDE_FROM_ALL ) + endif() + endif() # Create a target 'data', which downloads all referenced data sets into the build tree # This has to be defined after all tests are defined ExternalData_Add_Target(data) - SET_TARGET_PROPERTIES(data PROPERTIES EXCLUDE_FROM_ALL 1) - ADD_DEPENDENCIES(ctest data) -ENDIF() # OGS_BUILD_TESTS + set_target_properties(data PROPERTIES EXCLUDE_FROM_ALL 1) + add_dependencies(ctest data) +endif() # OGS_BUILD_TESTS # The configuration must be called from the source dir and not BaseLib/. -CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/BaseLib/BuildInfo.cpp.in" +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/BaseLib/BuildInfo.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/BaseLib/BuildInfo.cpp" @ONLY) diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt index eb0f9eff5d5ab0989d1e8d258e1a1040441d08c7..7d8fdcb743e8da6311dda6c4876c2709f2e1c9d4 100644 --- a/FileIO/CMakeLists.txt +++ b/FileIO/CMakeLists.txt @@ -1,6 +1,6 @@ # Source files # GET_SOURCE_FILES(SOURCES_FILEIO) -SET( SOURCES +set( SOURCES AsciiRasterInterface.h AsciiRasterInterface.cpp GMSInterface.h @@ -27,28 +27,28 @@ GET_SOURCE_FILES(SOURCES_LEGACY Legacy) GET_SOURCE_FILES(SOURCES_GMSHIO GmshIO) GET_SOURCE_FILES(SOURCES_RAPID_XML RapidXmlIO) GET_SOURCE_FILES(SOURCES_VTK VtkIO) -SET ( SOURCES ${SOURCES} ${SOURCES_LEGACY} ${SOURCES_GMSHIO} ${SOURCES_RAPID_XML} ${SOURCES_VTK}) +set ( SOURCES ${SOURCES} ${SOURCES_LEGACY} ${SOURCES_GMSHIO} ${SOURCES_RAPID_XML} ${SOURCES_VTK}) GET_SOURCE_FILES(SOURCES_BASE_XML XmlIO) -SET (SOURCES ${SOURCES} ${SOURCES_BASE_XML}) +set (SOURCES ${SOURCES} ${SOURCES_BASE_XML}) GET_SOURCE_FILES(SOURCES_BOOST_XML XmlIO/Boost) -SET (SOURCES ${SOURCES} ${SOURCES_BOOST_XML}) -IF (QT4_FOUND) - SET ( SOURCES ${SOURCES} FEFLOWInterface.h FEFLOWInterface.cpp) +set (SOURCES ${SOURCES} ${SOURCES_BOOST_XML}) +if (QT4_FOUND) + set ( SOURCES ${SOURCES} FEFLOWInterface.h FEFLOWInterface.cpp) GET_SOURCE_FILES(SOURCES_QT_XML XmlIO/Qt) - SET ( SOURCES ${SOURCES} ${SOURCES_QT_XML}) -ENDIF (QT4_FOUND) + set ( SOURCES ${SOURCES} ${SOURCES_QT_XML}) +endif (QT4_FOUND) # It could be used for other MPI based DDC approach in future. -IF(OGS_USE_PETSC) +if(OGS_USE_PETSC) GET_SOURCE_FILES(SOURCES_MPI_IO MPI_IO) - SET (SOURCES ${SOURCES} ${SOURCES_MPI_IO}) -ENDIF() + set (SOURCES ${SOURCES} ${SOURCES_MPI_IO}) +endif() # Create the library -ADD_LIBRARY(FileIO STATIC ${SOURCES}) +add_library(FileIO STATIC ${SOURCES}) -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_CURRENT_SOURCE_DIR}/../BaseLib ${CMAKE_CURRENT_SOURCE_DIR}/../GeoLib @@ -57,7 +57,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR}/../BaseLib ) -TARGET_LINK_LIBRARIES (FileIO +target_link_libraries (FileIO GeoLib MeshLib zlib @@ -66,9 +66,9 @@ TARGET_LINK_LIBRARIES (FileIO ADD_CATALYST_DEPENDENCY(FileIO) -FILE(GLOB XSD_FILES . *.xsd) -IF(APPLE AND OGS_BUILD_GUI) - INSTALL(FILES ${XSD_FILES} DESTINATION ${CMAKE_BINARY_DIR}/_CPack_Packages/Darwin/DragNDrop/${CPACK_PACKAGE_FILE_NAME}/ALL_IN_ONE/DataExplorer.app/Contents/MacOS COMPONENT ogs_gui) -ELSE() - INSTALL(FILES ${XSD_FILES} DESTINATION bin COMPONENT ogs_cli) -ENDIF() +file(GLOB XSD_FILES . *.xsd) +if(APPLE AND OGS_BUILD_GUI) + install(FILES ${XSD_FILES} DESTINATION ${CMAKE_BINARY_DIR}/_CPack_Packages/Darwin/DragNDrop/${CPACK_PACKAGE_FILE_NAME}/ALL_IN_ONE/DataExplorer.app/Contents/MacOS COMPONENT ogs_gui) +else() + install(FILES ${XSD_FILES} DESTINATION bin COMPONENT ogs_cli) +endif() diff --git a/GeoLib/CMakeLists.txt b/GeoLib/CMakeLists.txt index 9750e35f4ada3de6cc3fdc9f00396d53a5be6bd6..406951ed1e2308c5c94750561f5f87a91d7c16d5 100644 --- a/GeoLib/CMakeLists.txt +++ b/GeoLib/CMakeLists.txt @@ -2,15 +2,15 @@ GET_SOURCE_FILES(SOURCES_GeoLib) # Create the library -ADD_LIBRARY(GeoLib STATIC ${SOURCES_GeoLib}) +add_library(GeoLib STATIC ${SOURCES_GeoLib}) -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_CURRENT_SOURCE_DIR}/../BaseLib ${CMAKE_CURRENT_SOURCE_DIR}/../MathLib ) -TARGET_LINK_LIBRARIES (GeoLib +target_link_libraries (GeoLib BaseLib MathLib ) diff --git a/InSituLib/CMakeLists.txt b/InSituLib/CMakeLists.txt index e1a6a7231e6a49e28d44e79be3a6c07539532a28..81fdeba345b6b8b66de7f1cd7ac5286fbcb04aab 100644 --- a/InSituLib/CMakeLists.txt +++ b/InSituLib/CMakeLists.txt @@ -1,16 +1,16 @@ -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../GeoLib ${CMAKE_CURRENT_SOURCE_DIR}/../MathLib ${CMAKE_CURRENT_SOURCE_DIR}/../MeshLib ${CMAKE_CURRENT_SOURCE_DIR}/../MeshLib/Elements ) -ADD_LIBRARY(InSituLib +add_library(InSituLib VtkMappedMesh.h VtkMappedMesh.cpp VtkMappedMeshSource.h VtkMappedMeshSource.cpp ) -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(InSituLib) diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index a795591b84632532ffcca864667cfc01624d1eb5..21dfbc4d25a3cb343d777b84279a60cb8f486019 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -1,80 +1,80 @@ #Source files grouped by a directory GET_SOURCE_FILES(SOURCES_MATHLIB) -SET ( SOURCES ${SOURCES_MATHLIB}) +set ( SOURCES ${SOURCES_MATHLIB}) GET_SOURCE_FILES(SOURCES_INTERPOLATIONALGORITHMS InterpolationAlgorithms) -SET ( SOURCES ${SOURCES} ${SOURCES_INTERPOLATIONALGORITHMS}) +set ( SOURCES ${SOURCES} ${SOURCES_INTERPOLATIONALGORITHMS}) GET_SOURCE_FILES(SOURCES_INTEGRATION Integration) -SET ( SOURCES ${SOURCES} ${SOURCES_INTEGRATION}) +set ( SOURCES ${SOURCES} ${SOURCES_INTEGRATION}) GET_SOURCE_FILES(SOURCES_LINALG LinAlg) -SET ( SOURCES ${SOURCES} ${SOURCES_LINALG}) +set ( SOURCES ${SOURCES} ${SOURCES_LINALG}) GET_SOURCE_FILES(SOURCES_LINALG_DENSE LinAlg/Dense) -SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_DENSE}) +set ( SOURCES ${SOURCES} ${SOURCES_LINALG_DENSE}) GET_SOURCE_FILES(SOURCES_LINALG_SPARSE LinAlg/Sparse) -SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_SPARSE}) +set ( SOURCES ${SOURCES} ${SOURCES_LINALG_SPARSE}) GET_SOURCE_FILES(SOURCES_LINALG_SOLVERS LinAlg/Solvers) -SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_SOLVERS}) +set ( SOURCES ${SOURCES} ${SOURCES_LINALG_SOLVERS}) GET_SOURCE_FILES(SOURCES_LINALG_PRECOND LinAlg/Preconditioner) -SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_PRECOND}) +set ( SOURCES ${SOURCES} ${SOURCES_LINALG_PRECOND}) -IF (OGS_USE_LIS) +if (OGS_USE_LIS) GET_SOURCE_FILES(SOURCES_LINALG_LIS LinAlg/Lis) - SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_LIS}) -ENDIF () + set ( SOURCES ${SOURCES} ${SOURCES_LINALG_LIS}) +endif () -IF (OGS_USE_PETSC) +if (OGS_USE_PETSC) GET_SOURCE_FILES(SOURCES_LINALG_PETSC LinAlg/PETSc) - SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_PETSC}) -ENDIF () + set ( SOURCES ${SOURCES} ${SOURCES_LINALG_PETSC}) +endif () -IF (METIS_FOUND) +if (METIS_FOUND) GET_SOURCE_FILES(SOURCES_LINALG_SPARSE_NESTEDDISSECTION LinAlg/Sparse/NestedDissectionPermutation) - SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_SPARSE_NESTEDDISSECTION}) -ENDIF () + set ( SOURCES ${SOURCES} ${SOURCES_LINALG_SPARSE_NESTEDDISSECTION}) +endif () GET_SOURCE_FILES(SOURCES_NONLINEAR Nonlinear) -SET ( SOURCES ${SOURCES} ${SOURCES_NONLINEAR}) +set ( SOURCES ${SOURCES} ${SOURCES_NONLINEAR}) -INCLUDE_DIRECTORIES ( +include_directories ( . ../BaseLib ../GeoLib ) -IF(METIS_FOUND) - INCLUDE_DIRECTORIES ( +if(METIS_FOUND) + include_directories ( ${METIS_INCLUDE_DIR} ) -ENDIF() +endif() -IF (OGS_USE_PETSC) - INCLUDE_DIRECTORIES ( LinAlg/PETSc ) +if (OGS_USE_PETSC) + include_directories ( LinAlg/PETSc ) GET_SOURCE_FILES(SOURCES_LINALG_PETSC LinAlg/PETSc) - SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_PETSC}) -ENDIF () + set ( SOURCES ${SOURCES} ${SOURCES_LINALG_PETSC}) +endif () # Create the library -ADD_LIBRARY( MathLib STATIC ${SOURCES} ) +add_library( MathLib STATIC ${SOURCES} ) -SET_TARGET_PROPERTIES(MathLib PROPERTIES LINKER_LANGUAGE CXX) +set_target_properties(MathLib PROPERTIES LINKER_LANGUAGE CXX) -TARGET_LINK_LIBRARIES ( MathLib +target_link_libraries ( MathLib GeoLib ) -IF (LAPACK_FOUND) - TARGET_LINK_LIBRARIES ( MathLib ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) -ENDIF() +if (LAPACK_FOUND) + target_link_libraries ( MathLib ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +endif() -IF (LIS_FOUND) - TARGET_LINK_LIBRARIES( MathLib ${LIS_LIBRARIES} ) -ENDIF() +if (LIS_FOUND) + target_link_libraries( MathLib ${LIS_LIBRARIES} ) +endif() diff --git a/MeshGeoToolsLib/CMakeLists.txt b/MeshGeoToolsLib/CMakeLists.txt index ed06abf093b5490cbfdd157b55eb39fea533494a..5eed23c2bec95292a7bcfadc0dcfd8240706a334 100644 --- a/MeshGeoToolsLib/CMakeLists.txt +++ b/MeshGeoToolsLib/CMakeLists.txt @@ -2,9 +2,9 @@ GET_SOURCE_FILES(SOURCES_MeshGeoToolsLib) # Create the library -ADD_LIBRARY(MeshGeoToolsLib STATIC ${SOURCES_MeshGeoToolsLib}) +add_library(MeshGeoToolsLib STATIC ${SOURCES_MeshGeoToolsLib}) -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_CURRENT_SOURCE_DIR}/../BaseLib ${CMAKE_CURRENT_SOURCE_DIR}/../MathLib @@ -12,7 +12,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../GeoLib ) -TARGET_LINK_LIBRARIES (MeshGeoToolsLib +target_link_libraries (MeshGeoToolsLib BaseLib MathLib MeshLib diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt index 3ceffa79f2e56198a7c03e16361c6d3e74bb3955..e317c12202d0dee6be98a677e379e6dee22a7e45 100644 --- a/MeshLib/CMakeLists.txt +++ b/MeshLib/CMakeLists.txt @@ -2,18 +2,18 @@ GET_SOURCE_FILES(SOURCES_MESHLIB) # It should be removed too for other MPI based DDC approach in future. -IF(NOT OGS_USE_PETSC) +if(NOT OGS_USE_PETSC) list(REMOVE_ITEM SOURCES_MESHLIB NodePartitionedMesh.h) -ENDIF(NOT OGS_USE_PETSC) +endif(NOT OGS_USE_PETSC) GET_SOURCE_FILES(SOURCES_ELEMENTS Elements) GET_SOURCE_FILES(SOURCES_EDITING MeshEditing) GET_SOURCE_FILES(SOURCES_GENERATORS MeshGenerators) GET_SOURCE_FILES(SOURCES_QUALITY MeshQuality) -SET ( SOURCES ${SOURCES_MESHLIB} ${SOURCES_ELEMENTS} ${SOURCES_EDITING} ${SOURCES_GENERATORS} ${SOURCES_QUALITY}) +set ( SOURCES ${SOURCES_MESHLIB} ${SOURCES_ELEMENTS} ${SOURCES_EDITING} ${SOURCES_GENERATORS} ${SOURCES_QUALITY}) # Create the library -ADD_LIBRARY(MeshLib STATIC ${SOURCES}) +add_library(MeshLib STATIC ${SOURCES}) target_link_libraries (MeshLib BaseLib @@ -22,5 +22,5 @@ target_link_libraries (MeshLib logog ) -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(MeshLib) diff --git a/NumLib/CMakeLists.txt b/NumLib/CMakeLists.txt index 18a164b0696b70ae0d6464c9e45c41c81907a4e6..49d484c987d0d56744bf3e31071ac15eeb219a68 100644 --- a/NumLib/CMakeLists.txt +++ b/NumLib/CMakeLists.txt @@ -1,29 +1,29 @@ #Source files grouped by a directory GET_SOURCE_FILES(SOURCES_NUMLIB) -SET ( SOURCES ${SOURCES_NUMLIB}) +set ( SOURCES ${SOURCES_NUMLIB}) GET_SOURCE_FILES(SOURCES_FEM Fem) -SET ( SOURCES ${SOURCES} ${SOURCES_FEM}) +set ( SOURCES ${SOURCES} ${SOURCES_FEM}) GET_SOURCE_FILES(SOURCES_FEM_COORDINATESMAPPING Fem/CoordinatesMapping) -SET ( SOURCES ${SOURCES} ${SOURCES_FEM_COORDINATESMAPPING}) +set ( SOURCES ${SOURCES} ${SOURCES_FEM_COORDINATESMAPPING}) GET_SOURCE_FILES(SOURCES_FEM_FINTIEELEMENT Fem/FiniteElement) -SET ( SOURCES ${SOURCES} ${SOURCES_FEM_FINTIEELEMENT}) +set ( SOURCES ${SOURCES} ${SOURCES_FEM_FINTIEELEMENT}) GET_SOURCE_FILES(SOURCES_FEM_INTEGRATION Fem/Integration) -SET ( SOURCES ${SOURCES} ${SOURCES_FEM_INTEGRATION}) +set ( SOURCES ${SOURCES} ${SOURCES_FEM_INTEGRATION}) GET_SOURCE_FILES(SOURCES_FEM_SHAPEFUNCTION Fem/ShapeFunction) -SET ( SOURCES ${SOURCES} ${SOURCES_FEM_SHAPEFUNCTION}) +set ( SOURCES ${SOURCES} ${SOURCES_FEM_SHAPEFUNCTION}) GET_SOURCE_FILES(SOURCES_TIMESTEP TimeStepping) GET_SOURCE_FILES(SOURCES_TIMESTEP_ALGORITHMS TimeStepping/Algorithms) -SET ( SOURCES ${SOURCES} ${SOURCES_TIMESTEP} ${SOURCES_TIMESTEP_ALGORITHMS}) +set ( SOURCES ${SOURCES} ${SOURCES_TIMESTEP} ${SOURCES_TIMESTEP_ALGORITHMS}) GET_SOURCE_FILES(SOURCES_FUNCTION Function) -SET ( SOURCES ${SOURCES} ${SOURCES_FUNCTION}) +set ( SOURCES ${SOURCES} ${SOURCES_FUNCTION}) GET_SOURCE_FILES(SOURCES_DISTRIBUTION Distribution) -SET ( SOURCES ${SOURCES} ${SOURCES_DISTRIBUTION}) +set ( SOURCES ${SOURCES} ${SOURCES_DISTRIBUTION}) -INCLUDE_DIRECTORIES ( +include_directories ( . ${CMAKE_CURRENT_SOURCE_DIR}/../BaseLib ${CMAKE_CURRENT_SOURCE_DIR}/../GeoLib @@ -34,11 +34,11 @@ INCLUDE_DIRECTORIES ( # Create the library -ADD_LIBRARY( NumLib STATIC ${SOURCES} ) +add_library( NumLib STATIC ${SOURCES} ) -SET_TARGET_PROPERTIES(NumLib PROPERTIES LINKER_LANGUAGE CXX) +set_target_properties(NumLib PROPERTIES LINKER_LANGUAGE CXX) -TARGET_LINK_LIBRARIES ( NumLib +target_link_libraries ( NumLib BaseLib GeoLib MathLib diff --git a/ProcessLib/CMakeLists.txt b/ProcessLib/CMakeLists.txt index c2f2020e11f5d972c4b8d7f5c5117a2af0934866..b6802e427450588134b13f55bb5ad3aa224fcfb8 100644 --- a/ProcessLib/CMakeLists.txt +++ b/ProcessLib/CMakeLists.txt @@ -1,9 +1,9 @@ # Source files GET_SOURCE_FILES(SOURCES) -ADD_LIBRARY(ProcessLib STATIC ${SOURCES}) +add_library(ProcessLib STATIC ${SOURCES}) -TARGET_LINK_LIBRARIES( ProcessLib +target_link_libraries( ProcessLib AssemblerLib MeshLib MeshGeoToolsLib diff --git a/SimpleTests/MatrixTests/CMakeLists.txt b/SimpleTests/MatrixTests/CMakeLists.txt index 00ae009881fe63fed08f601cf7336aab346607fa..8d6d6c667faba07fa9105a1cfe12c6e71679f3de 100644 --- a/SimpleTests/MatrixTests/CMakeLists.txt +++ b/SimpleTests/MatrixTests/CMakeLists.txt @@ -1,13 +1,13 @@ ## pthread ## -IF (WIN32) - SET ( ADDITIONAL_LIBS Winmm.lib ) -ENDIF() +if (WIN32) + set ( ADDITIONAL_LIBS Winmm.lib ) +endif() -IF ( CMAKE_USE_PTHREADS_INIT ) - SET (HAVE_PTHREADS TRUE) -ENDIF (CMAKE_USE_PTHREADS_INIT ) +if ( CMAKE_USE_PTHREADS_INIT ) + set (HAVE_PTHREADS TRUE) +endif (CMAKE_USE_PTHREADS_INIT ) -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_SOURCE_DIR}/BaseLib/ ${CMAKE_BINARY_DIR}/BaseLib/ @@ -15,48 +15,48 @@ INCLUDE_DIRECTORIES( ) # Create the executable -ADD_EXECUTABLE( MatMult +add_executable( MatMult MatMult.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(MatMult PROPERTIES FOLDER SimpleTests) -TARGET_LINK_LIBRARIES(MatMult logog) +set_target_properties(MatMult PROPERTIES FOLDER SimpleTests) +target_link_libraries(MatMult logog) -IF ( HAVE_PTHREADS ) -ADD_EXECUTABLE( MatVecMultPthreads +if ( HAVE_PTHREADS ) +add_executable( MatVecMultPthreads MatVecMultPthreads.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(MatVecMultPthreads PROPERTIES FOLDER SimpleTests) -TARGET_LINK_LIBRARIES(MatVecMultPthreads +set_target_properties(MatVecMultPthreads PROPERTIES FOLDER SimpleTests) +target_link_libraries(MatVecMultPthreads pthread BaseLib MathLib logog) -ENDIF ( HAVE_PTHREADS ) +endif ( HAVE_PTHREADS ) -SET_TARGET_PROPERTIES(MatMult PROPERTIES FOLDER SimpleTests) -TARGET_LINK_LIBRARIES(MatMult logog) +set_target_properties(MatMult PROPERTIES FOLDER SimpleTests) +target_link_libraries(MatMult logog) # Create the executable -ADD_EXECUTABLE( MatTestRemoveRowsCols +add_executable( MatTestRemoveRowsCols MatTestRemoveRowsCols.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(MatTestRemoveRowsCols PROPERTIES FOLDER SimpleTests) +set_target_properties(MatTestRemoveRowsCols PROPERTIES FOLDER SimpleTests) -IF (METIS_FOUND) - ADD_EXECUTABLE( MatVecMultNDPerm +if (METIS_FOUND) + add_executable( MatVecMultNDPerm MatVecMultNDPerm.cpp ${SOURCES} ${HEADERS} ) - SET_TARGET_PROPERTIES(MatVecMultNDPerm PROPERTIES FOLDER SimpleTests) + set_target_properties(MatVecMultNDPerm PROPERTIES FOLDER SimpleTests) - TARGET_LINK_LIBRARIES ( MatVecMultNDPerm + target_link_libraries ( MatVecMultNDPerm BaseLib MathLib logog @@ -64,50 +64,50 @@ IF (METIS_FOUND) ${ADDITIONAL_LIBS} ) - IF(OPENMP_FOUND) - ADD_EXECUTABLE( MatVecMultNDPermOpenMP + if(OPENMP_FOUND) + add_executable( MatVecMultNDPermOpenMP MatVecMultNDPermOpenMP.cpp ${SOURCES} ${HEADERS} ) - SET_TARGET_PROPERTIES(MatVecMultNDPermOpenMP PROPERTIES FOLDER SimpleTests) + set_target_properties(MatVecMultNDPermOpenMP PROPERTIES FOLDER SimpleTests) - TARGET_LINK_LIBRARIES ( MatVecMultNDPermOpenMP + target_link_libraries ( MatVecMultNDPermOpenMP BaseLib MathLib logog ${METIS_LIBRARIES} ${ADDITIONAL_LIBS} ) - ENDIF() -ENDIF(METIS_FOUND) + endif() +endif(METIS_FOUND) -IF (WIN32) - TARGET_LINK_LIBRARIES(MatMult Winmm.lib) -ENDIF (WIN32) +if (WIN32) + target_link_libraries(MatMult Winmm.lib) +endif (WIN32) -TARGET_LINK_LIBRARIES ( MatMult +target_link_libraries ( MatMult BaseLib MathLib ) -IF (WIN32) - TARGET_LINK_LIBRARIES(MatTestRemoveRowsCols Winmm.lib) -ENDIF (WIN32) +if (WIN32) + target_link_libraries(MatTestRemoveRowsCols Winmm.lib) +endif (WIN32) -TARGET_LINK_LIBRARIES ( MatTestRemoveRowsCols +target_link_libraries ( MatTestRemoveRowsCols BaseLib MathLib ) -ADD_EXECUTABLE( DenseGaussEliminationChecker +add_executable( DenseGaussEliminationChecker DenseGaussEliminationChecker.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(DenseGaussEliminationChecker PROPERTIES FOLDER SimpleTests) -TARGET_LINK_LIBRARIES(DenseGaussEliminationChecker +set_target_properties(DenseGaussEliminationChecker PROPERTIES FOLDER SimpleTests) +target_link_libraries(DenseGaussEliminationChecker logog BaseLib MathLib diff --git a/SimpleTests/MeshTests/CMakeLists.txt b/SimpleTests/MeshTests/CMakeLists.txt index 8c1ba689ac823883b83b312a6dda5426fba85c52..1b6efb0001eebeec8e613a32ac8f7a2e3699ed20 100644 --- a/SimpleTests/MeshTests/CMakeLists.txt +++ b/SimpleTests/MeshTests/CMakeLists.txt @@ -1,8 +1,8 @@ -IF (WIN32) - SET ( ADDITIONAL_LIBS Winmm.lib ) -ENDIF() +if (WIN32) + set ( ADDITIONAL_LIBS Winmm.lib ) +endif() -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_SOURCE_DIR}/BaseLib/ ${CMAKE_SOURCE_DIR}/FileIO/ @@ -12,13 +12,13 @@ INCLUDE_DIRECTORIES( ) # Create the executable -ADD_EXECUTABLE( MeshRead +add_executable( MeshRead MeshRead.cpp ${SOURCES} ${HEADERS} ) -TARGET_LINK_LIBRARIES ( MeshRead +target_link_libraries ( MeshRead MeshLib FileIO MathLib @@ -31,13 +31,13 @@ TARGET_LINK_LIBRARIES ( MeshRead ) # Create MeshSearchTest executable -ADD_EXECUTABLE( MeshSearchTest +add_executable( MeshSearchTest MeshSearchTest.cpp ${SOURCES} ${HEADERS} ) -TARGET_LINK_LIBRARIES ( MeshSearchTest +target_link_libraries ( MeshSearchTest MeshLib FileIO MathLib diff --git a/SimpleTests/MeshTests/MPI/CMakeLists.txt b/SimpleTests/MeshTests/MPI/CMakeLists.txt index bbd2ced76176bc7eb248ff3c646da381612b26fd..01736f26116116a8704cbbd1dd9e4708c31f2082 100644 --- a/SimpleTests/MeshTests/MPI/CMakeLists.txt +++ b/SimpleTests/MeshTests/MPI/CMakeLists.txt @@ -1,4 +1,4 @@ -INCLUDE_DIRECTORIES( +include_directories( . ${CMAKE_SOURCE_DIR}/BaseLib/ ${CMAKE_SOURCE_DIR}/FileIO/ @@ -6,11 +6,11 @@ INCLUDE_DIRECTORIES( ) # Create the executable -ADD_EXECUTABLE( test_node_partitioned_mesh +add_executable( test_node_partitioned_mesh NodePartitionedMeshTester.cpp ) -TARGET_LINK_LIBRARIES ( test_node_partitioned_mesh +target_link_libraries ( test_node_partitioned_mesh MeshLib FileIO BaseLib @@ -19,13 +19,13 @@ TARGET_LINK_LIBRARIES ( test_node_partitioned_mesh ${BOOST_LIBRARIES} ) -IF (OGS_USE_PETSC) - TARGET_LINK_LIBRARIES( test_node_partitioned_mesh ${PETSC_LIBRARIES}) -ENDIF (OGS_USE_PETSC) +if (OGS_USE_PETSC) + target_link_libraries( test_node_partitioned_mesh ${PETSC_LIBRARIES}) +endif (OGS_USE_PETSC) -IF (OGS_USE_MPI) - TARGET_LINK_LIBRARIES( test_node_partitioned_mesh ${MPI_CXX_LIBRARIES}) -ENDIF () +if (OGS_USE_MPI) + target_link_libraries( test_node_partitioned_mesh ${MPI_CXX_LIBRARIES}) +endif () set(FilePath "DATA{${ExternalData_SOURCE_ROOT}/NodePartitionedMesh/ASCII/,REGEX:.*}") set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/test_node_partitioned_mesh" "${FilePath}/mesh_3d") diff --git a/SimpleTests/SolverTests/CMakeLists.txt b/SimpleTests/SolverTests/CMakeLists.txt index adb599b784364172c43690603203e35c1fd1f61e..a82a719e1bd22e853faef0a6054f7023fe71e4c9 100644 --- a/SimpleTests/SolverTests/CMakeLists.txt +++ b/SimpleTests/SolverTests/CMakeLists.txt @@ -1,73 +1,73 @@ -INCLUDE_DIRECTORIES( +include_directories( . ../../BaseLib/ ../../MathLib/ ) # Create the executable -ADD_EXECUTABLE( ConjugateGradientUnpreconditioned +add_executable( ConjugateGradientUnpreconditioned ConjugateGradientUnpreconditioned.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(ConjugateGradientUnpreconditioned PROPERTIES FOLDER SimpleTests) +set_target_properties(ConjugateGradientUnpreconditioned PROPERTIES FOLDER SimpleTests) -ADD_EXECUTABLE( ConjugateGradientDiagPrecond +add_executable( ConjugateGradientDiagPrecond ConjugateGradientDiagonalPreconditioned.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(ConjugateGradientDiagPrecond PROPERTIES FOLDER SimpleTests) +set_target_properties(ConjugateGradientDiagPrecond PROPERTIES FOLDER SimpleTests) -ADD_EXECUTABLE( BiCGStabDiagPrecond +add_executable( BiCGStabDiagPrecond BiCGStabDiagPrecond.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(BiCGStabDiagPrecond PROPERTIES FOLDER SimpleTests) +set_target_properties(BiCGStabDiagPrecond PROPERTIES FOLDER SimpleTests) -ADD_EXECUTABLE( GMResDiagPrecond +add_executable( GMResDiagPrecond GMResDiagPrecond.cpp ${SOURCES} ${HEADERS} ) -SET_TARGET_PROPERTIES(GMResDiagPrecond PROPERTIES FOLDER SimpleTests) +set_target_properties(GMResDiagPrecond PROPERTIES FOLDER SimpleTests) -IF (WIN32) - TARGET_LINK_LIBRARIES(ConjugateGradientUnpreconditioned Winmm.lib) -ENDIF (WIN32) -TARGET_LINK_LIBRARIES ( ConjugateGradientUnpreconditioned +if (WIN32) + target_link_libraries(ConjugateGradientUnpreconditioned Winmm.lib) +endif (WIN32) +target_link_libraries ( ConjugateGradientUnpreconditioned ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES} MathLib BaseLib ) -IF (WIN32) - TARGET_LINK_LIBRARIES(ConjugateGradientDiagPrecond Winmm.lib) -ENDIF (WIN32) -TARGET_LINK_LIBRARIES ( ConjugateGradientDiagPrecond +if (WIN32) + target_link_libraries(ConjugateGradientDiagPrecond Winmm.lib) +endif (WIN32) +target_link_libraries ( ConjugateGradientDiagPrecond ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES} MathLib BaseLib ) -IF (WIN32) - TARGET_LINK_LIBRARIES(BiCGStabDiagPrecond Winmm.lib) -ENDIF (WIN32) -TARGET_LINK_LIBRARIES( BiCGStabDiagPrecond +if (WIN32) + target_link_libraries(BiCGStabDiagPrecond Winmm.lib) +endif (WIN32) +target_link_libraries( BiCGStabDiagPrecond ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES} MathLib BaseLib ) -IF (WIN32) - TARGET_LINK_LIBRARIES(GMResDiagPrecond Winmm.lib) -ENDIF (WIN32) -TARGET_LINK_LIBRARIES( GMResDiagPrecond +if (WIN32) + target_link_libraries(GMResDiagPrecond Winmm.lib) +endif (WIN32) +target_link_libraries( GMResDiagPrecond ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES} MathLib diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index f5c0788b95df6719cd481d6de489dfc60b9c3ae7..78286dcc5744b1b5f0140f2a0fcd66c9bc29b3bc 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1,8 +1,8 @@ # VS2012 doesn't support correctly the tuples yet # See http://code.google.com/p/googletest/issues/detail?id=412 -IF( MSVC ) - ADD_DEFINITIONS( /D_VARIADIC_MAX=10 ) -ENDIF() +if( MSVC ) + add_definitions( /D_VARIADIC_MAX=10 ) +endif() APPEND_SOURCE_FILES(TEST_SOURCES) APPEND_SOURCE_FILES(TEST_SOURCES AssemblerLib) @@ -13,12 +13,12 @@ APPEND_SOURCE_FILES(TEST_SOURCES MathLib) APPEND_SOURCE_FILES(TEST_SOURCES MeshLib) APPEND_SOURCE_FILES(TEST_SOURCES NumLib) -SET (TEST_SOURCES ${TEST_SOURCES} FileIO/TestGLIReader.cpp) -IF (QT4_FOUND) - SET (TEST_SOURCES ${TEST_SOURCES} FileIO/TestXmlGmlReader.cpp) -ENDIF() +set (TEST_SOURCES ${TEST_SOURCES} FileIO/TestGLIReader.cpp) +if (QT4_FOUND) + set (TEST_SOURCES ${TEST_SOURCES} FileIO/TestXmlGmlReader.cpp) +endif() -INCLUDE_DIRECTORIES( +include_directories( ${CMAKE_SOURCE_DIR}/AssemblerLib ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/FileIO @@ -31,13 +31,13 @@ INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/BaseLib ) -ADD_EXECUTABLE (testrunner testrunner.cpp ${TEST_SOURCES}) -SET_TARGET_PROPERTIES(testrunner PROPERTIES FOLDER Testing) -IF(TARGET Eigen) - ADD_DEPENDENCIES(testrunner Eigen) -ENDIF() +add_executable (testrunner testrunner.cpp ${TEST_SOURCES}) +set_target_properties(testrunner PROPERTIES FOLDER Testing) +if(TARGET Eigen) + add_dependencies(testrunner Eigen) +endif() -TARGET_LINK_LIBRARIES(testrunner +target_link_libraries(testrunner GTest ApplicationsLib AssemblerLib @@ -55,48 +55,48 @@ TARGET_LINK_LIBRARIES(testrunner ${CATALYST_LIBRARIES} ) ADD_CATALYST_DEPENDENCY(testrunner) -IF (OGS_USE_PETSC) - TARGET_LINK_LIBRARIES( testrunner ${PETSC_LIBRARIES}) -ENDIF (OGS_USE_PETSC) +if (OGS_USE_PETSC) + target_link_libraries( testrunner ${PETSC_LIBRARIES}) +endif (OGS_USE_PETSC) -IF (OGS_USE_MPI) - TARGET_LINK_LIBRARIES( testrunner ${MPI_CXX_LIBRARIES}) -ENDIF () +if (OGS_USE_MPI) + target_link_libraries( testrunner ${MPI_CXX_LIBRARIES}) +endif () -IF(OGS_BUILD_GUI) - TARGET_LINK_LIBRARIES(testrunner +if(OGS_BUILD_GUI) + target_link_libraries(testrunner QtDataView VtkVis ) -ENDIF() +endif() -IF (QT4_FOUND) - TARGET_LINK_LIBRARIES(testrunner ${QT_LIBRARIES}) -ENDIF() +if (QT4_FOUND) + target_link_libraries(testrunner ${QT_LIBRARIES}) +endif() -INCLUDE(AddCatalystDependency) +include(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(testrunner) # Add make-target test which runs the testrunner # This should override CTest's predefined test-target but it does not -IF (OGS_USE_PETSC) - ADD_CUSTOM_TARGET(tests +if (OGS_USE_PETSC) + add_custom_target(tests mpirun -np 1 $<TARGET_FILE:testrunner> --gtest_filter=-MPITest* DEPENDS testrunner ) - ADD_CUSTOM_TARGET(tests_mpi + add_custom_target(tests_mpi mpirun -np 3 $<TARGET_FILE:testrunner> --gtest_filter=MPITest* DEPENDS testrunner ) -ELSE () - ADD_CUSTOM_TARGET(tests +else () + add_custom_target(tests $<TARGET_FILE:testrunner> DEPENDS testrunner ) -ENDIF () +endif () # Testing -#ENABLE_TESTING() +#enable_testing() # Creates one ctest entry for every googletest #ADD_GOOGLE_TESTS ( ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/testrunner ${TEST_SOURCES}) diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt index 023161c8c294ddb5d0017e40262e8def6857ac2a..d7c2d0e55fcc1e4f715bb2457bb322a34ed34440 100644 --- a/ThirdParty/CMakeLists.txt +++ b/ThirdParty/CMakeLists.txt @@ -1,46 +1,46 @@ # Disable all warnings -IF(COMPILER_IS_CLANG OR COMPILER_IS_GCC) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") -ELSEIF(MSVC) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0") -ENDIF() +if(COMPILER_IS_CLANG OR COMPILER_IS_GCC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") +elseif(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0") +endif() # Add logog subdirectory and group its targets in a Visual Studio folder -ADD_SUBDIRECTORY(logog) -IF(BUILD_TESTING) - SET_PROPERTY(TARGET Continuous PROPERTY FOLDER "logog") -ENDIF() -SET_PROPERTY(TARGET logog PROPERTY FOLDER "logog") -SET_PROPERTY(TARGET test-logog PROPERTY FOLDER "logog") -SET_TARGET_PROPERTIES(test-logog PROPERTIES EXCLUDE_FROM_ALL TRUE) +add_subdirectory(logog) +if(BUILD_TESTING) + set_property(TARGET Continuous PROPERTY FOLDER "logog") +endif() +set_property(TARGET logog PROPERTY FOLDER "logog") +set_property(TARGET test-logog PROPERTY FOLDER "logog") +set_target_properties(test-logog PROPERTIES EXCLUDE_FROM_ALL TRUE) -ADD_SUBDIRECTORY(zlib) +add_subdirectory(zlib) -ADD_SUBDIRECTORY(gtest) +add_subdirectory(gtest) -ADD_SUBDIRECTORY(shape) +add_subdirectory(shape) # This is a workaround for Travis builds. -OPTION(OGS_USE_OPTIONAL_SUBMODULES "Option for enabling optional submodules" OFF) +option(OGS_USE_OPTIONAL_SUBMODULES "Option for enabling optional submodules" OFF) # VtkFbxConverter -IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkFbxConverter/CMakeLists.txt +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkFbxConverter/CMakeLists.txt AND OGS_USE_OPTIONAL_SUBMODULES) - ADD_SUBDIRECTORY(VtkFbxConverter) -ENDIF() + add_subdirectory(VtkFbxConverter) +endif() # VtkOsgConverter -IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkOsgConverter/CMakeLists.txt +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkOsgConverter/CMakeLists.txt AND OGS_USE_OPTIONAL_SUBMODULES) - ADD_SUBDIRECTORY(VtkOsgConverter) -ENDIF() + add_subdirectory(VtkOsgConverter) +endif() # tetgen -IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tetgen/CMakeLists.txt) - ADD_SUBDIRECTORY(tetgen) - IF(APPLE AND OGS_BUILD_GUI) - INSTALL (PROGRAMS $<TARGET_FILE:tetgen> DESTINATION DataExplorer.app/Contents/MacOS COMPONENT ogs_extras) - ELSE() - INSTALL (PROGRAMS $<TARGET_FILE:tetgen> DESTINATION bin COMPONENT ogs_extras) - ENDIF() -ENDIF() +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tetgen/CMakeLists.txt) + add_subdirectory(tetgen) + if(APPLE AND OGS_BUILD_GUI) + install (PROGRAMS $<TARGET_FILE:tetgen> DESTINATION DataExplorer.app/Contents/MacOS COMPONENT ogs_extras) + else() + install (PROGRAMS $<TARGET_FILE:tetgen> DESTINATION bin COMPONENT ogs_extras) + endif() +endif() diff --git a/ThirdParty/gtest/CMakeLists.txt b/ThirdParty/gtest/CMakeLists.txt index 64c369c6392823d872fc9591dc6a13f6b2a6c43b..e1e88d24158b2ac64e4909e42d5a963d34ae9db5 100644 --- a/ThirdParty/gtest/CMakeLists.txt +++ b/ThirdParty/gtest/CMakeLists.txt @@ -1,16 +1,16 @@ # This is Googletest 1.6 compressed to 2 source files -IF (MSVC) - ADD_DEFINITIONS (/D_VARIADIC_MAX=10) -ENDIF () +if (MSVC) + add_definitions (/D_VARIADIC_MAX=10) +endif () -IF (HAVE_PTHREADS) - ADD_DEFINITIONS (-DGTEST_HAS_PTHREAD=1) -ELSE () - ADD_DEFINITIONS (-DGTEST_HAS_PTHREAD=0) -ENDIF () +if (HAVE_PTHREADS) + add_definitions (-DGTEST_HAS_PTHREAD=1) +else () + add_definitions (-DGTEST_HAS_PTHREAD=0) +endif () -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include) -ADD_LIBRARY (GTest src/gtest-all.cc) +include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include) +add_library (GTest src/gtest-all.cc) -SET_TARGET_PROPERTIES(GTest PROPERTIES FOLDER Testing) +set_target_properties(GTest PROPERTIES FOLDER Testing) diff --git a/ThirdParty/shape/CMakeLists.txt b/ThirdParty/shape/CMakeLists.txt index e25997bf37631af66d2cc73b7461103a49d61cea..a8a3dca02f118f50ae03ab92813b4d03d2284465 100644 --- a/ThirdParty/shape/CMakeLists.txt +++ b/ThirdParty/shape/CMakeLists.txt @@ -1,7 +1,7 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) +cmake_minimum_required(VERSION 2.8.8) -PROJECT(Shapelib) +project(Shapelib) -ADD_LIBRARY(shp +add_library(shp shpopen.c dbfopen.c safileio.c shptree.c ) diff --git a/scripts/cmake/AddCatalystDependency.cmake b/scripts/cmake/AddCatalystDependency.cmake index bf18e31d9d889f7f791be9c4bbfdf07bce05163c..df74386dccc12f5aaa4235d756c6042569a0f1e5 100644 --- a/scripts/cmake/AddCatalystDependency.cmake +++ b/scripts/cmake/AddCatalystDependency.cmake @@ -1,12 +1,12 @@ -MACRO(ADD_CATALYST_DEPENDENCY target) - IF(ParaView_FOUND) - INCLUDE("${PARAVIEW_USE_FILE}") +macro(ADD_CATALYST_DEPENDENCY target) + if(ParaView_FOUND) + include("${PARAVIEW_USE_FILE}") # see http://stackoverflow.com/questions/18642155 - SET_PROPERTY(TARGET ${target} APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) - ENDIF() + set_property(TARGET ${target} APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) + endif() - IF(TARGET VtkRescan) - ADD_DEPENDENCIES(${target} VtkRescan) - ENDIF() -ENDMACRO() + if(TARGET VtkRescan) + add_dependencies(${target} VtkRescan) + endif() +endmacro() diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake index 18b78993f25e3288640b87c8d69e2f79a6269811..8f0094d8e602f2f12084585a7e608188f030f82d 100644 --- a/scripts/cmake/CMakeSetup.cmake +++ b/scripts/cmake/CMakeSetup.cmake @@ -1,57 +1,57 @@ # Set additional CMake modules path -SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake") # Load addional modules -INCLUDE(UseBackportedModules) -INCLUDE(OptionRequires) -INCLUDE(CppcheckTargets) -INCLUDE(GetCompilerInfoString) -INCLUDE(AddCatalystDependency) +include(UseBackportedModules) +include(OptionRequires) +include(CppcheckTargets) +include(GetCompilerInfoString) +include(AddCatalystDependency) -INCLUDE(ProcessorCount) +include(ProcessorCount) ProcessorCount(NUM_PROCESSORS) -SET(NUM_PROCESSORS ${NUM_PROCESSORS} CACHE STRING "Processor count") +set(NUM_PROCESSORS ${NUM_PROCESSORS} CACHE STRING "Processor count") -INCLUDE(GetGitRevisionDescription) +include(GetGitRevisionDescription) GET_GIT_HEAD_REVISION(GIT_REFSPEC GIT_SHA1) -STRING(SUBSTRING ${GIT_SHA1} 0 8 GIT_SHA1_SHORT) +string(SUBSTRING ${GIT_SHA1} 0 8 GIT_SHA1_SHORT) -IF($ENV{CI}) - SET(OGS_VERSION 6.6.6) # Dummy version for CI-environment (Travis) -ELSE() +if($ENV{CI}) + set(OGS_VERSION 6.6.6) # Dummy version for CI-environment (Travis) +else() GIT_GET_TAG(GIT_DESCRIBE) - STRING(REGEX MATCH ^[0-9|\\.]* GIT_TAG ${GIT_DESCRIBE}) - SET(OGS_VERSION ${GIT_TAG}) + string(REGEX MATCH ^[0-9|\\.]* GIT_TAG ${GIT_DESCRIBE}) + set(OGS_VERSION ${GIT_TAG}) - IF(GIT_DESCRIBE MATCHES ".*-.*-.*") + if(GIT_DESCRIBE MATCHES ".*-.*-.*") # Commit is not a tag - SET(OGS_IS_RELEASE FALSE) - STRING(REGEX MATCH "-([0-9]+)-" GIT_COMMITS_AFTER_TAG ${GIT_DESCRIBE}) - ELSE() - SET(OGS_VERSION_STATUS "") - SET(OGS_IS_RELEASE TRUE) - MESSAGE(STATUS "OGS version: ${OGS_VERSION}") - ENDIF() -ENDIF() + set(OGS_IS_RELEASE FALSE) + string(REGEX MATCH "-([0-9]+)-" GIT_COMMITS_AFTER_TAG ${GIT_DESCRIBE}) + else() + set(OGS_VERSION_STATUS "") + set(OGS_IS_RELEASE TRUE) + message(STATUS "OGS version: ${OGS_VERSION}") + endif() +endif() # Get the hostname -SITE_NAME(HOSTNAME) +site_name(HOSTNAME) # Compute OS X version number -IF(APPLE) - IF(CMAKE_SYSTEM_VERSION VERSION_EQUAL 12.0) - SET(OSX_VERSION 10.8 CACHE STRING "OS X version number") - SET(OSX_VERSION_NAME CACHE STRING "Mountain Lion") - ENDIF() - IF(CMAKE_SYSTEM_VERSION VERSION_EQUAL 13.0) - SET(OSX_VERSION 10.9 CACHE STRING "OS X version number") - SET(OSX_VERSION_NAME CACHE STRING "Mavericks") - ENDIF() - IF(CMAKE_SYSTEM_VERSION VERSION_EQUAL 14.0) - SET(OSX_VERSION 10.10 CACHE STRING "OS X version number") - SET(OSX_VERSION_NAME CACHE STRING "Yosemite") - ENDIF() -ENDIF() -MARK_AS_ADVANCED(OSX_VERSION OSX_VERSION_NAME) +if(APPLE) + if(CMAKE_SYSTEM_VERSION VERSION_EQUAL 12.0) + set(OSX_VERSION 10.8 CACHE STRING "OS X version number") + set(OSX_VERSION_NAME CACHE STRING "Mountain Lion") + endif() + if(CMAKE_SYSTEM_VERSION VERSION_EQUAL 13.0) + set(OSX_VERSION 10.9 CACHE STRING "OS X version number") + set(OSX_VERSION_NAME CACHE STRING "Mavericks") + endif() + if(CMAKE_SYSTEM_VERSION VERSION_EQUAL 14.0) + set(OSX_VERSION 10.10 CACHE STRING "OS X version number") + set(OSX_VERSION_NAME CACHE STRING "Yosemite") + endif() +endif() +mark_as_advanced(OSX_VERSION OSX_VERSION_NAME) diff --git a/scripts/cmake/CheckTypeSizes.cmake b/scripts/cmake/CheckTypeSizes.cmake index e88ff9e73d1eb40254410f97e54db55483fb2c83..9602c0f86c872a75045629c7242d8c6b9b87522d 100644 --- a/scripts/cmake/CheckTypeSizes.cmake +++ b/scripts/cmake/CheckTypeSizes.cmake @@ -1,4 +1,4 @@ -INCLUDE (CheckTypeSize) +include (CheckTypeSize) CHECK_TYPE_SIZE(int SIZEOF_INT) CHECK_TYPE_SIZE(long SIZEOF_LONG) @@ -7,23 +7,23 @@ CHECK_TYPE_SIZE("void *" SIZEOF_VOID_P) # Sets Bits variables # check 64 bit -IF( CMAKE_SIZEOF_VOID_P EQUAL 4 ) - SET( HAVE_64_BIT 0 ) - SET( BITS 32 ) -ELSE() - SET( HAVE_64_BIT 1 ) - ADD_DEFINITIONS(-DHAVE_64_BIT) - SET( BITS 64) -ENDIF() +if( CMAKE_SIZEOF_VOID_P EQUAL 4 ) + set( HAVE_64_BIT 0 ) + set( BITS 32 ) +else() + set( HAVE_64_BIT 1 ) + add_definitions(-DHAVE_64_BIT) + set( BITS 64) +endif() # Check endian of the system -INCLUDE (TestBigEndian) +include (TestBigEndian) TEST_BIG_ENDIAN (IS_BIG_ENDIAN) -IF (IS_BIG_ENDIAN) - ADD_DEFINITIONS(-DENDIAN_IS_BIG) +if (IS_BIG_ENDIAN) + add_definitions(-DENDIAN_IS_BIG) # cannot use BIG_ENDIAN because it's reserved in Linux -ELSE () - ADD_DEFINITIONS(-DENDIAN_IS_LITTLE) +else () + add_definitions(-DENDIAN_IS_LITTLE) # cannot use LITTLE_ENDIAN because it's reserved in Linux -ENDIF () # IS_BIG_ENDIAN +endif () # IS_BIG_ENDIAN diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake index 79e78f8fb3ebab1081a0c5d027c9230f915aff4a..4db84fc1c70c915ea6908e6804ca4c057074daae 100644 --- a/scripts/cmake/CompilerSetup.cmake +++ b/scripts/cmake/CompilerSetup.cmake @@ -1,83 +1,83 @@ -INCLUDE(ResetConfigurations) # To Debug, Release, RelWithDbgInfo -INCLUDE(SetDefaultBuildType) -INCLUDE(DisableCompilerFlag) +include(ResetConfigurations) # To Debug, Release, RelWithDbgInfo +include(SetDefaultBuildType) +include(DisableCompilerFlag) SET_DEFAULT_BUILD_TYPE(Debug) -INCLUDE(MSVCMultipleProcessCompile) # /MP switch (multi processor) for VS -SET(CMAKE_OSX_ARCHITECTURES "x86_64") +include(MSVCMultipleProcessCompile) # /MP switch (multi processor) for VS +set(CMAKE_OSX_ARCHITECTURES "x86_64") # Set compiler helper variables -IF (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") - SET(COMPILER_IS_CLANG TRUE) -ELSEIF (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - SET(COMPILER_IS_GCC TRUE) -ELSEIF (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") - SET(COMPILER_IS_INTEL TRUE) -ELSEIF (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC") - SET(COMPILER_IS_MSVC TRUE) -ENDIF () # CMAKE_CXX_COMPILER_ID +if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") + set(COMPILER_IS_CLANG TRUE) +elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + set(COMPILER_IS_GCC TRUE) +elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") + set(COMPILER_IS_INTEL TRUE) +elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC") + set(COMPILER_IS_MSVC TRUE) +endif () # CMAKE_CXX_COMPILER_ID # Better Clang warning suppression, see http://www.openwalnut.org/issues/230 -IF(NOT COMPILER_IS_MSVC) - SET( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem" CACHE STRING "" FORCE ) -ENDIF() +if(NOT COMPILER_IS_MSVC) + set( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem" CACHE STRING "" FORCE ) +endif() # Set additional user-given compiler flags -SET(CMAKE_CXX_FLAGS ${OGS_CXX_FLAGS}) +set(CMAKE_CXX_FLAGS ${OGS_CXX_FLAGS}) ### GNU C/CXX compiler -IF(COMPILER_IS_GCC) +if(COMPILER_IS_GCC) get_gcc_version(GCC_VERSION) - IF(GCC_VERSION VERSION_LESS "4.8") - MESSAGE(FATAL_ERROR "GCC minimum required version is 4.8! You are using ${GCC_VERSION}.") - ENDIF() - IF( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) - MESSAGE(STATUS "Set GCC release flags") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -mtune=native -msse4.2 -DNDEBUG") + if(GCC_VERSION VERSION_LESS "4.8") + message(FATAL_ERROR "GCC minimum required version is 4.8! You are using ${GCC_VERSION}.") + endif() + if( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) + message(STATUS "Set GCC release flags") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -mtune=native -msse4.2 -DNDEBUG") # Disable -march=native on mac or Ninja generator - IF(NOT APPLE AND NOT "${CMAKE_GENERATOR}" STREQUAL "Ninja") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") - ENDIF() - ENDIF() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated -Wall -Wextra") -ENDIF() # COMPILER_IS_GCC + if(NOT APPLE AND NOT "${CMAKE_GENERATOR}" STREQUAL "Ninja") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + endif() + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated -Wall -Wextra") +endif() # COMPILER_IS_GCC ### Clang -IF(COMPILER_IS_CLANG) - IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.3") - MESSAGE(FATAL_ERROR "Aborting: Clang 3.3 is required! Found version ${CMAKE_CXX_COMPILER_VERSION}") - ENDIF() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-c++98-compat-pedantic") -ENDIF() # COMPILER_IS_CLANG +if(COMPILER_IS_CLANG) + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.3") + message(FATAL_ERROR "Aborting: Clang 3.3 is required! Found version ${CMAKE_CXX_COMPILER_VERSION}") + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-c++98-compat-pedantic") +endif() # COMPILER_IS_CLANG ### Intel compiler -IF (COMPILER_IS_INTEL) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - IF( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) - MESSAGE(STATUS "Set Intel release flags") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG") - ENDIF() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHOST -O3 -no-prec-div -DNDEBUG") -ENDIF() # COMPILER_IS_INTEL +if (COMPILER_IS_INTEL) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + if( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) + message(STATUS "Set Intel release flags") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG") + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHOST -O3 -no-prec-div -DNDEBUG") +endif() # COMPILER_IS_INTEL # Profiling -IF (OGS_PROFILE) - IF( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) - MESSAGE(STATUS "When using profiling you should set CMAKE_BUILD_TYPE to Release.") - ENDIF() - SET(PROFILE_FLAGS "-pg -fno-omit-frame-pointer -O2 -DNDEBUG") +if (OGS_PROFILE) + if( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) + message(STATUS "When using profiling you should set CMAKE_BUILD_TYPE to Release.") + endif() + set(PROFILE_FLAGS "-pg -fno-omit-frame-pointer -O2 -DNDEBUG") # clang compiler does not know the following flags - IF(NOT COMPILER_IS_CLANG) - SET(PROFILE_FLAGS "${PROFILE_FLAGS} -fno-inline-functions-called-once -fno-optimize-sibling-calls") - ENDIF() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PROFILE_FLAGS}") -ENDIF (OGS_PROFILE) + if(NOT COMPILER_IS_CLANG) + set(PROFILE_FLAGS "${PROFILE_FLAGS} -fno-inline-functions-called-once -fno-optimize-sibling-calls") + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PROFILE_FLAGS}") +endif (OGS_PROFILE) ### Windows -IF (WIN32) +if (WIN32) ## For Visual Studio compiler - IF (MSVC) - ADD_DEFINITIONS( + if (MSVC) + add_definitions( -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_XNONSTDC_NO_WARNINGS @@ -85,20 +85,20 @@ IF (WIN32) -DNOMINMAX # This fixes compile errors with std::numeric_limits<T>::min() / max() ) # Sets warning level 3 and ignores some warnings - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /wd4290 /wd4267 /wd4996") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /ZI /Od /Ob0") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /wd4290 /wd4267 /wd4996") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /ZI /Od /Ob0") DisableCompilerFlag(DEBUG /RTC1) # cygwin - ELSE (MSVC) - MESSAGE (STATUS "Might be GCC under cygwin.") - ADD_DEFINITIONS( -DGCC ) - ENDIF (MSVC) -ENDIF (WIN32) + else (MSVC) + message (STATUS "Might be GCC under cygwin.") + add_definitions( -DGCC ) + endif (MSVC) +endif (WIN32) # Missing OpenMP 3.0 implementation fix for Windows, this fixes #6 -IF(MSVC) - ADD_DEFINITIONS(-DOPENMP_LOOP_TYPE=int) -ELSE() - ADD_DEFINITIONS(-DOPENMP_LOOP_TYPE=unsigned) -ENDIF() +if(MSVC) + add_definitions(-DOPENMP_LOOP_TYPE=int) +else() + add_definitions(-DOPENMP_LOOP_TYPE=unsigned) +endif() diff --git a/scripts/cmake/Coverage.cmake b/scripts/cmake/Coverage.cmake index 1e62befafde2b1087f155d952e2b4eb7665e9379..72b9b44a97ac0d2aa817cac1522632eaf5b26329 100644 --- a/scripts/cmake/Coverage.cmake +++ b/scripts/cmake/Coverage.cmake @@ -1,6 +1,6 @@ -INCLUDE(CodeCoverage) +include(CodeCoverage) -SET(COVERAGE_EXCLUDES +set(COVERAGE_EXCLUDES '/gpfs0/*' '/usr/*' '${CMAKE_BINARY_DIR}/*' @@ -8,17 +8,17 @@ SET(COVERAGE_EXCLUDES '${CMAKE_SOURCE_DIR}/ThirdParty/*' ) -IF(LCOV_PATH AND GENHTML_PATH) +if(LCOV_PATH AND GENHTML_PATH) SETUP_TARGET_FOR_COVERAGE(testrunner_coverage testrunner "testrunner_coverage_results" "-j;${PROCESSOR_COUNT}") - IF(OGS_BUILD_GUI) + if(OGS_BUILD_GUI) SETUP_TARGET_FOR_COVERAGE(DataExplorer_coverage DataExplorer "DataExplorer_coverage_results") - ENDIF() -ELSE() - MESSAGE(STATUS "No lcov coverage report generated because lcov or genhtml was not found.") -ENDIF() + endif() +else() + message(STATUS "No lcov coverage report generated because lcov or genhtml was not found.") +endif() -IF(PYTHON_EXECUTABLE) +if(PYTHON_EXECUTABLE) SETUP_TARGET_FOR_COVERAGE_COBERTURA(testrunner_coverage_cobertura testrunner "testrunner_coverage_cobertura_results" "-j;${PROCESSOR_COUNT}") -ELSE() - MESSAGE(STATUS "No cobertura coverage report generated because Python executable was not found.") -ENDIF() +else() + message(STATUS "No cobertura coverage report generated because Python executable was not found.") +endif() diff --git a/scripts/cmake/DocumentationSetup.cmake b/scripts/cmake/DocumentationSetup.cmake index 5d0210bd461e2db753531a57033e97de9f674b94..d5785e25017a196652a26750a6bcb9c73a1fbd65 100644 --- a/scripts/cmake/DocumentationSetup.cmake +++ b/scripts/cmake/DocumentationSetup.cmake @@ -1,29 +1,29 @@ -IF(DOXYGEN_FOUND) +if(DOXYGEN_FOUND) - IF(APPLE) - OPTION(DOCS_GENERATE_DOCSET "Generate Apple Docsets." OFF) - ENDIF() + if(APPLE) + option(DOCS_GENERATE_DOCSET "Generate Apple Docsets." OFF) + endif() - SET(DOT_FOUND "NO") - IF(DOXYGEN_DOT_FOUND) - SET(DOT_FOUND "YES") - ENDIF() + set(DOT_FOUND "NO") + if(DOXYGEN_DOT_FOUND) + set(DOT_FOUND "YES") + endif() - ADD_CUSTOM_TARGET(doc ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile + add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${PROJECT_BINARY_DIR} COMMENT "Generating source code documentation with Doxygen." VERBATIM) - SET(DOCS_GENERATE_TREEVIEW_STRING "YES" CACHE INTERNAL "") - SET(DOCS_DISABLE_INDEX_STRING "NO" CACHE INTERNAL "") - IF(DOCS_GENERATE_DOCSET) - SET(DOCS_GENERATE_TREEVIEW_STRING "NO" CACHE INTERNAL "" FORCE) - SET(DOCS_DISABLE_INDEX_STRING "YES" CACHE INTERNAL "" FORCE) - SET(DOCS_GENERATE_DOCSET_STRING "YES" CACHE INTERNAL "") - ADD_CUSTOM_COMMAND(TARGET doc POST_BUILD + set(DOCS_GENERATE_TREEVIEW_STRING "YES" CACHE INTERNAL "") + set(DOCS_DISABLE_INDEX_STRING "NO" CACHE INTERNAL "") + if(DOCS_GENERATE_DOCSET) + set(DOCS_GENERATE_TREEVIEW_STRING "NO" CACHE INTERNAL "" FORCE) + set(DOCS_DISABLE_INDEX_STRING "YES" CACHE INTERNAL "" FORCE) + set(DOCS_GENERATE_DOCSET_STRING "YES" CACHE INTERNAL "") + add_custom_command(TARGET doc POST_BUILD COMMAND make WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/docs COMMENT "Generating docset ...") - ENDIF() # DOCS_GENERATE_DOCSET + endif() # DOCS_GENERATE_DOCSET - CONFIGURE_FILE(Documentation/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile) + configure_file(Documentation/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile) -ENDIF() # DOXYGEN_FOUND +endif() # DOXYGEN_FOUND diff --git a/scripts/cmake/ExternalProjectBoost.cmake b/scripts/cmake/ExternalProjectBoost.cmake index 47892a436c5da3ee7d5eff179128de39c51342c0..b89f3f337f4faf4be99de824635a13b360889449 100644 --- a/scripts/cmake/ExternalProjectBoost.cmake +++ b/scripts/cmake/ExternalProjectBoost.cmake @@ -1,7 +1,7 @@ -INCLUDE(ThirdPartyLibVersions) -INCLUDE(ExternalProject) +include(ThirdPartyLibVersions) +include(ExternalProject) # Set Boost version and which libraries to compile -SET(BOOST_LIBS_TO_BUILD +set(BOOST_LIBS_TO_BUILD # chrono # context date_time @@ -26,82 +26,82 @@ SET(BOOST_LIBS_TO_BUILD # wave ) -IF(Boost_FOUND) - RETURN() -ENDIF() +if(Boost_FOUND) + return() +endif() # Set boost toolset -IF(MSVC11) - SET(BOOST_TOOLSET msvc-11.0) -ELSEIF(MSVC12) - SET(BOOST_TOOLSET msvc-12.0) -ELSEIF(APPLE) - SET(BOOST_TOOLSET darwin) -ELSEIF(COMPILER_IS_CLANG) - SET(BOOST_TOOLSET clang) -ELSEIF(COMPILER_IS_INTEL) +if(MSVC11) + set(BOOST_TOOLSET msvc-11.0) +elseif(MSVC12) + set(BOOST_TOOLSET msvc-12.0) +elseif(APPLE) + set(BOOST_TOOLSET darwin) +elseif(COMPILER_IS_CLANG) + set(BOOST_TOOLSET clang) +elseif(COMPILER_IS_INTEL) # Extracts first two version numbers, e.g. 13.0 from 13.0.0.20121010 - STRING(REGEX MATCH ^[0-9]*.[0-9] INTEL_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) - SET(BOOST_TOOLSET intel-${INTEL_COMPILER_VERSION}) -ELSEIF(COMPILER_IS_GCC) - SET(BOOST_TOOLSET gcc) -ENDIF() + string(REGEX MATCH ^[0-9]*.[0-9] INTEL_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) + set(BOOST_TOOLSET intel-${INTEL_COMPILER_VERSION}) +elseif(COMPILER_IS_GCC) + set(BOOST_TOOLSET gcc) +endif() # First check for system boost -IF(NOT Boost_INCLUDE_DIRS) - IF(APPLE) - SET(BOOST_ROOT $ENV{HOMEBREW_ROOT}) - ENDIF() - IF(MSVC) - SET(Boost_USE_STATIC_LIBS ON) - IF(NOT DEFINED BOOST_LIBRARYDIR) - SET(BOOST_LIBRARYDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/boost/lib${BITS}-${BOOST_TOOLSET};C:/boost/lib${BITS}-${BOOST_TOOLSET};$ENV{BOOST_ROOT}/lib${BITS}-${BOOST_TOOLSET}") - SET(BOOST_INCLUDEDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/boost;C:/boost;$ENV{BOOST_ROOT}") - ENDIF() - ENDIF() - IF(WIN32 AND COMPILER_IS_GCC) - SET(BOOST_INCLUDEDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/include/boost*") - ENDIF() - FIND_PACKAGE(Boost 1.46.0 COMPONENTS ${BOOST_LIBS_TO_BUILD}) - IF(Boost_FOUND) - SET(Boost_FOUND TRUE CACHE BOOL "Was Boost found?" FORCE) - SET(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIRS}" CACHE STRING "Boost include dirs" FORCE) - SET(Boost_LIBRARIES "${Boost_LIBRARIES}" CACHE STRING "Boost libraries" FORCE) - RETURN() - ELSE() - SET(Boost_INCLUDE_DIRS "") - ENDIF() -ENDIF() +if(NOT Boost_INCLUDE_DIRS) + if(APPLE) + set(BOOST_ROOT $ENV{HOMEBREW_ROOT}) + endif() + if(MSVC) + set(Boost_USE_STATIC_LIBS ON) + if(NOT DEFINED BOOST_LIBRARYDIR) + set(BOOST_LIBRARYDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/boost/lib${BITS}-${BOOST_TOOLSET};C:/boost/lib${BITS}-${BOOST_TOOLSET};$ENV{BOOST_ROOT}/lib${BITS}-${BOOST_TOOLSET}") + set(BOOST_INCLUDEDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/boost;C:/boost;$ENV{BOOST_ROOT}") + endif() + endif() + if(WIN32 AND COMPILER_IS_GCC) + set(BOOST_INCLUDEDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/include/boost*") + endif() + find_package(Boost 1.46.0 COMPONENTS ${BOOST_LIBS_TO_BUILD}) + if(Boost_FOUND) + set(Boost_FOUND TRUE CACHE BOOL "Was Boost found?" FORCE) + set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIRS}" CACHE STRING "Boost include dirs" FORCE) + set(Boost_LIBRARIES "${Boost_LIBRARIES}" CACHE STRING "Boost libraries" FORCE) + return() + else() + set(Boost_INCLUDE_DIRS "") + endif() +endif() # Check required gcc -IF(COMPILER_IS_GCC AND GCC_VERSION VERSION_LESS "4.4") - MESSAGE(FATAL_ERROR "GCC version >= 4.4 is required for building Boost ${Boost_Version}!") -ENDIF() +if(COMPILER_IS_GCC AND GCC_VERSION VERSION_LESS "4.4") + message(FATAL_ERROR "GCC version >= 4.4 is required for building Boost ${Boost_Version}!") +endif() # Prefix with --with- for bjam (b2) build command -FOREACH(LIB_TO_BUILD ${BOOST_LIBS_TO_BUILD}) - SET(BOOST_LIBS_TO_BUILD_CMD ${BOOST_LIBS_TO_BUILD_CMD} --with-${LIB_TO_BUILD}) -ENDFOREACH() +foreach(LIB_TO_BUILD ${BOOST_LIBS_TO_BUILD}) + set(BOOST_LIBS_TO_BUILD_CMD ${BOOST_LIBS_TO_BUILD_CMD} --with-${LIB_TO_BUILD}) +endforeach() # Prefix with boost_ for library names -FOREACH(LIB_TO_BUILD ${BOOST_LIBS_TO_BUILD}) - SET(BOOST_LIBS_TO_BUILD_NAMES ${BOOST_LIBS_TO_BUILD_NAMES} boost_${LIB_TO_BUILD}) -ENDFOREACH() +foreach(LIB_TO_BUILD ${BOOST_LIBS_TO_BUILD}) + set(BOOST_LIBS_TO_BUILD_NAMES ${BOOST_LIBS_TO_BUILD_NAMES} boost_${LIB_TO_BUILD}) +endforeach() # Set update command -IF(WIN32) - SET(BOOST_UPDATE_COMMAND bootstrap.bat) -ELSE() - SET(BOOST_UPDATE_COMMAND ./bootstrap.sh) -ENDIF() +if(WIN32) + set(BOOST_UPDATE_COMMAND bootstrap.bat) +else() + set(BOOST_UPDATE_COMMAND ./bootstrap.sh) +endif() # Set additional config options -SET(BOOST_CONFIG_OPTIONS "") -IF(WIN32) - IF(HAVE_64_BIT) - SET(BOOST_CONFIG_OPTIONS "architecture=x86;address-model=64") - ENDIF() -ENDIF() +set(BOOST_CONFIG_OPTIONS "") +if(WIN32) + if(HAVE_64_BIT) + set(BOOST_CONFIG_OPTIONS "architecture=x86;address-model=64") + endif() +endif() ExternalProject_Add(Boost PREFIX ${CMAKE_BINARY_DIR}/External/boost @@ -115,15 +115,15 @@ ExternalProject_Add(Boost ) ExternalProject_Get_Property( Boost source_dir ) -IF(NOT Boost_INCLUDE_DIRS) - SET( Boost_INCLUDE_DIRS ${source_dir} CACHE INTERNAL "Boost include directories") +if(NOT Boost_INCLUDE_DIRS) + set( Boost_INCLUDE_DIRS ${source_dir} CACHE INTERNAL "Boost include directories") # On Visual Studio Boost libs get automatically linked - IF(MSVC) - SET( Boost_LIBRARIES "" CACHE INTERNAL "Boost libraries") - ELSE() - SET( Boost_LIBRARIES ${BOOST_LIBS_TO_BUILD_NAMES} CACHE INTERNAL "Boost libraries") - ENDIF() - MESSAGE(STATUS "Building Boost automatically.") -ENDIF() + if(MSVC) + set( Boost_LIBRARIES "" CACHE INTERNAL "Boost libraries") + else() + set( Boost_LIBRARIES ${BOOST_LIBS_TO_BUILD_NAMES} CACHE INTERNAL "Boost libraries") + endif() + message(STATUS "Building Boost automatically.") +endif() -LINK_DIRECTORIES( ${source_dir}/stage/lib/ ) +link_directories( ${source_dir}/stage/lib/ ) diff --git a/scripts/cmake/ExternalProjectCatalyst.cmake b/scripts/cmake/ExternalProjectCatalyst.cmake index aca692562d7609a228db37a35b7e8db387fa79d1..9b25af806eada4db77344a7ba47fc6709bd3fc71 100644 --- a/scripts/cmake/ExternalProjectCatalyst.cmake +++ b/scripts/cmake/ExternalProjectCatalyst.cmake @@ -1,18 +1,18 @@ -INCLUDE(ThirdPartyLibVersions) -INCLUDE(ExternalProject) +include(ThirdPartyLibVersions) +include(ExternalProject) -SET(CATALYST_GIT_URL https://github.com/ufz/catalyst-io.git) +set(CATALYST_GIT_URL https://github.com/ufz/catalyst-io.git) -IF(NOT DEFINED ParaView_DIR AND DEFINED ENV{ParaView_DIR}) - SET(ParaView_DIR $ENV{ParaView_DIR}) -ENDIF() +if(NOT DEFINED ParaView_DIR AND DEFINED ENV{ParaView_DIR}) + set(ParaView_DIR $ENV{ParaView_DIR}) +endif() # CLI modules -SET(PARAVIEW_MODULES vtkIOXML) +set(PARAVIEW_MODULES vtkIOXML) # GUI modules -IF(OGS_BUILD_GUI) - SET(PARAVIEW_MODULES ${PARAVIEW_MODULES} +if(OGS_BUILD_GUI) + set(PARAVIEW_MODULES ${PARAVIEW_MODULES} vtkRenderingCore vtkRenderingOpenGL vtknetcdf @@ -31,74 +31,74 @@ IF(OGS_BUILD_GUI) vtkIOExport vtkRenderingFreeType ) - SET(CATALYST_GIT_URL https://github.com/ufz/catalyst-gui.git) -ENDIF() + set(CATALYST_GIT_URL https://github.com/ufz/catalyst-gui.git) +endif() -SET(CATALYST_LIBRARIES ${PARAVIEW_MODULES} CACHE STRING "" FORCE) -IF(OGS_BUILD_GUI) +set(CATALYST_LIBRARIES ${PARAVIEW_MODULES} CACHE STRING "" FORCE) +if(OGS_BUILD_GUI) # Replace vtknetcdf with vtkNetCDF vtkNetCDF_cxx - LIST(REMOVE_ITEM CATALYST_LIBRARIES vtknetcdf) - LIST(APPEND CATALYST_LIBRARIES vtkNetCDF vtkNetCDF_cxx) -ENDIF() + list(REMOVE_ITEM CATALYST_LIBRARIES vtknetcdf) + list(APPEND CATALYST_LIBRARIES vtkNetCDF vtkNetCDF_cxx) +endif() -FIND_PACKAGE(ParaView 4.2 COMPONENTS ${PARAVIEW_MODULES} NO_MODULE QUIET) +find_package(ParaView 4.2 COMPONENTS ${PARAVIEW_MODULES} NO_MODULE QUIET) -FIND_LIBRARY(VTKIO_LIB_FOUND vtkIOXML-pv4.2 HINTS ${ParaView_DIR}/lib PATH_SUFFIXES Release Debug) -IF(ParaView_FOUND AND VTKIO_LIB_FOUND) - FOREACH(DIR ${PARAVIEW_INCLUDE_DIRS}) - IF("${DIR}" MATCHES ".*vtknetcdf.*") - INCLUDE_DIRECTORIES(SYSTEM ${DIR}/../cxx ${DIR}/include) - ENDIF() - ENDFOREACH() - MESSAGE(STATUS "Using ParaView in ${ParaView_DIR}") - RETURN() -ELSEIF(NOT ParaView_DIR) +find_library(VTKIO_LIB_FOUND vtkIOXML-pv4.2 HINTS ${ParaView_DIR}/lib PATH_SUFFIXES Release Debug) +if(ParaView_FOUND AND VTKIO_LIB_FOUND) + foreach(DIR ${PARAVIEW_INCLUDE_DIRS}) + if("${DIR}" MATCHES ".*vtknetcdf.*") + include_directories(SYSTEM ${DIR}/../cxx ${DIR}/include) + endif() + endforeach() + message(STATUS "Using ParaView in ${ParaView_DIR}") + return() +elseif(NOT ParaView_DIR) # If ParaView was not found check for VTK - FIND_PACKAGE(VTK 6.1 COMPONENTS ${PARAVIEW_MODULES} NO_MODULE QUIET) - IF(VTK_FOUND) - INCLUDE( ${VTK_USE_FILE} ) - FOREACH(DIR ${VTK_INCLUDE_DIRS}) - IF("${DIR}" MATCHES ".*vtknetcdf.*") - INCLUDE_DIRECTORIES(SYSTEM ${DIR}/../cxx ${DIR}/include) - ELSEIF("${DIR}" MATCHES ".*vtk.*") - INCLUDE_DIRECTORIES(SYSTEM ${DIR}/vtknetcdf/include) - ENDIF() - ENDFOREACH() - INCLUDE_DIRECTORIES(SYSTEM ${VTK_DIR}/../ThirdParty/netcdf/vtknetcdf/cxx) - MESSAGE(STATUS "Using VTK in ${VTK_DIR}") - RETURN() - ELSE() + find_package(VTK 6.1 COMPONENTS ${PARAVIEW_MODULES} NO_MODULE QUIET) + if(VTK_FOUND) + include( ${VTK_USE_FILE} ) + foreach(DIR ${VTK_INCLUDE_DIRS}) + if("${DIR}" MATCHES ".*vtknetcdf.*") + include_directories(SYSTEM ${DIR}/../cxx ${DIR}/include) + elseif("${DIR}" MATCHES ".*vtk.*") + include_directories(SYSTEM ${DIR}/vtknetcdf/include) + endif() + endforeach() + include_directories(SYSTEM ${VTK_DIR}/../ThirdParty/netcdf/vtknetcdf/cxx) + message(STATUS "Using VTK in ${VTK_DIR}") + return() + else() # If nothing was found build ParaView as an external project - SET(ParaView_DIR ${CMAKE_BINARY_DIR}/External/catalyst/src/Catalyst-build CACHE PATH "" FORCE) - ENDIF() -ENDIF() + set(ParaView_DIR ${CMAKE_BINARY_DIR}/External/catalyst/src/Catalyst-build CACHE PATH "" FORCE) + endif() +endif() -SET(CATALYST_CMAKE_GENERATOR ${CMAKE_GENERATOR}) -IF(WIN32) +set(CATALYST_CMAKE_GENERATOR ${CMAKE_GENERATOR}) +if(WIN32) # Ninja temporary disabled because it builds only the Release mode. - # FIND_PROGRAM(NINJA_TOOL_PATH ninja DOC "Ninja build tool") - IF(NINJA_TOOL_PATH) - SET(CATALYST_CMAKE_GENERATOR Ninja) - SET(CATALYST_MAKE_COMMAND ninja ${CATALYST_LIBRARIES}) - ELSE() - SET(CATALYST_MAKE_COMMAND + # find_program(NINJA_TOOL_PATH ninja DOC "Ninja build tool") + if(NINJA_TOOL_PATH) + set(CATALYST_CMAKE_GENERATOR Ninja) + set(CATALYST_MAKE_COMMAND ninja ${CATALYST_LIBRARIES}) + else() + set(CATALYST_MAKE_COMMAND msbuild /p:Configuration=Release /m:${NUM_PROCESSORS} ParaView.sln && msbuild /p:Configuration=Debug /m:${NUM_PROCESSORS} /m ParaView.sln) - ENDIF() - SET(CATALYST_CONFIGURE_COMMAND cmake.bat) -ELSE() - IF($ENV{CI}) - SET(CATALYST_MAKE_COMMAND make ${CATALYST_LIBRARIES}) - ELSE() - SET(CATALYST_MAKE_COMMAND make -j ${NUM_PROCESSORS} ${CATALYST_LIBRARIES}) - ENDIF() - SET(CATALYST_CONFIGURE_COMMAND cmake.sh) -ENDIF() + endif() + set(CATALYST_CONFIGURE_COMMAND cmake.bat) +else() + if($ENV{CI}) + set(CATALYST_MAKE_COMMAND make ${CATALYST_LIBRARIES}) + else() + set(CATALYST_MAKE_COMMAND make -j ${NUM_PROCESSORS} ${CATALYST_LIBRARIES}) + endif() + set(CATALYST_CONFIGURE_COMMAND cmake.sh) +endif() -MESSAGE(STATUS "Building ParaView as an external project in the build directory") -IF(CMAKE_VERSION VERSION_LESS 3.0.0) - MESSAGE(FATAL_ERROR "CMake 3.0.0 or higher is required for building VTK / ParaView!") -ENDIF() +message(STATUS "Building ParaView as an external project in the build directory") +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "CMake 3.0.0 or higher is required for building VTK / ParaView!") +endif() ExternalProject_Add(Catalyst PREFIX ${CMAKE_BINARY_DIR}/External/catalyst GIT_REPOSITORY ${CATALYST_GIT_URL} @@ -107,10 +107,10 @@ ExternalProject_Add(Catalyst INSTALL_COMMAND "" ) -IF(NOT ${ParaView_FOUND}) +if(NOT ${ParaView_FOUND}) # Rerun cmake in initial build - ADD_CUSTOM_TARGET(VtkRescan ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} DEPENDS Catalyst) -ELSE() - ADD_CUSTOM_TARGET(VtkRescan) # dummy target for caching -ENDIF() + add_custom_target(VtkRescan ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} DEPENDS Catalyst) +else() + add_custom_target(VtkRescan) # dummy target for caching +endif() diff --git a/scripts/cmake/ExternalProjectEigen.cmake b/scripts/cmake/ExternalProjectEigen.cmake index 542157333e872485e06719cef724d758526399c8..d1bc30c77c736f68fd4dd49b1a9c4fedb9e4cd33 100644 --- a/scripts/cmake/ExternalProjectEigen.cmake +++ b/scripts/cmake/ExternalProjectEigen.cmake @@ -1,20 +1,20 @@ -INCLUDE(ThirdPartyLibVersions) -INCLUDE(ExternalProject) -IF(EIGEN3_FOUND AND EIGEN3_INCLUDE_DIR) - RETURN() -ENDIF() +include(ThirdPartyLibVersions) +include(ExternalProject) +if(EIGEN3_FOUND AND EIGEN3_INCLUDE_DIR) + return() +endif() # First check for system Eigen -IF(NOT EIGEN3_INCLUDE_DIR) - FIND_PACKAGE(Eigen3) - IF(EIGEN3_FOUND) - SET(EIGEN3_FOUND TRUE CACHE BOOL "Was Eigen found?" FORCE) - SET(EIGEN3_INCLUDE_DIR "${EIGEN3_INCLUDE_DIR}" CACHE STRING "Eigen include dir" FORCE) - RETURN() - ELSE() - SET(EIGEN3_INCLUDE_DIR "") - ENDIF() -ENDIF() +if(NOT EIGEN3_INCLUDE_DIR) + find_package(Eigen3) + if(EIGEN3_FOUND) + set(EIGEN3_FOUND TRUE CACHE BOOL "Was Eigen found?" FORCE) + set(EIGEN3_INCLUDE_DIR "${EIGEN3_INCLUDE_DIR}" CACHE STRING "Eigen include dir" FORCE) + return() + else() + set(EIGEN3_INCLUDE_DIR "") + endif() +endif() ExternalProject_Add(Eigen PREFIX ${CMAKE_BINARY_DIR}/External/eigen @@ -28,8 +28,8 @@ ExternalProject_Add(Eigen ) ExternalProject_Get_Property( Eigen source_dir ) -IF(NOT EIGEN3_INCLUDE_DIR) - SET(EIGEN3_FOUND TRUE CACHE BOOL "Was Eigen found?" FORCE) - SET( EIGEN3_INCLUDE_DIR ${source_dir} CACHE INTERNAL "Eigen include dir" FORCE) - MESSAGE(STATUS "Downloading Eigen automatically.") -ENDIF() +if(NOT EIGEN3_INCLUDE_DIR) + set(EIGEN3_FOUND TRUE CACHE BOOL "Was Eigen found?" FORCE) + set( EIGEN3_INCLUDE_DIR ${source_dir} CACHE INTERNAL "Eigen include dir" FORCE) + message(STATUS "Downloading Eigen automatically.") +endif() diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 215282d91236858c3540d0020054f60d64b7d166..842d09be17779ba71af5a889aa5998cee596442d 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -1,5 +1,5 @@ # Add custom library install prefixes -LIST(APPEND CMAKE_PREFIX_PATH +list(APPEND CMAKE_PREFIX_PATH $ENV{HOMEBREW_ROOT} # Homebrew package manager on Mac OS $ENV{CMAKE_LIBRARY_SEARCH_PATH} # Environment variable, Windows ${CMAKE_LIBRARY_SEARCH_PATH}) # CMake option, Windows @@ -9,141 +9,141 @@ LIST(APPEND CMAKE_PREFIX_PATH ###################### # Find doxygen -IF(WIN32) - FIND_PROGRAM(DOXYGEN_DOT_EXECUTABLE NAMES dot PATHS "$ENV{ProgramFiles}/Graphviz*/bin") - FIND_PACKAGE(Doxygen QUIET) - IF(DOXYGEN_DOT_PATH) - FILE(TO_NATIVE_PATH ${DOXYGEN_DOT_PATH} DOXYGEN_DOT_PATH) - SET(DOXYGEN_DOT_PATH "\"${DOXYGEN_DOT_PATH}\"") - ENDIF() -ELSE() - FIND_PACKAGE(Doxygen QUIET) -ENDIF() +if(WIN32) + find_program(DOXYGEN_DOT_EXECUTABLE NAMES dot PATHS "$ENV{ProgramFiles}/Graphviz*/bin") + find_package(Doxygen QUIET) + if(DOXYGEN_DOT_PATH) + file(TO_NATIVE_PATH ${DOXYGEN_DOT_PATH} DOXYGEN_DOT_PATH) + set(DOXYGEN_DOT_PATH "\"${DOXYGEN_DOT_PATH}\"") + endif() +else() + find_package(Doxygen QUIET) +endif() # Find gnu profiler gprof -FIND_PROGRAM(GPROF_PATH gprof DOC "GNU profiler gprof" QUIET) +find_program(GPROF_PATH gprof DOC "GNU profiler gprof" QUIET) -FIND_PACKAGE(cppcheck QUIET) +find_package(cppcheck QUIET) -FIND_PACKAGE(PythonInterp QUIET) +find_package(PythonInterp QUIET) -FIND_PACKAGE(GitHub) +find_package(GitHub) -FIND_PROGRAM(GIT_TOOL_PATH git HINTS ${GITHUB_BIN_DIR} DOC "The git command line interface") -IF(NOT GIT_TOOL_PATH) - IF(WIN32) - MESSAGE(FATAL_ERROR "Git not found! Please install GitHub for Windows or Git!") - ELSE() - MESSAGE(FATAL_ERROR "Git not found but is required!") - ENDIF() -ELSE() - SET(GIT_EXECUTABLE ${GIT_TOOL_PATH} CACHE FILE_PATH "" FORCE) - SET(GIT_FOUND TRUE CACHE BOOL "" FORCE) -ENDIF() +find_program(GIT_TOOL_PATH git HINTS ${GITHUB_BIN_DIR} DOC "The git command line interface") +if(NOT GIT_TOOL_PATH) + if(WIN32) + message(FATAL_ERROR "Git not found! Please install GitHub for Windows or Git!") + else() + message(FATAL_ERROR "Git not found but is required!") + endif() +else() + set(GIT_EXECUTABLE ${GIT_TOOL_PATH} CACHE FILE_PATH "" FORCE) + set(GIT_FOUND TRUE CACHE BOOL "" FORCE) +endif() # Find bash itself ... -FIND_PROGRAM(BASH_TOOL_PATH bash +find_program(BASH_TOOL_PATH bash HINTS ${GITHUB_BIN_DIR} DOC "The bash executable") # Dumpbin is a windows dependency analaysis tool required for packaging. # Variable has to be named gp_cmd to override the outdated find routines # of the GetPrerequisites CMake-module. -IF(WIN32) - INCLUDE(MSVCPaths) - FIND_PROGRAM(gp_cmd dumpbin DOC "Windows dependency analysis tool" +if(WIN32) + include(MSVCPaths) + find_program(gp_cmd dumpbin DOC "Windows dependency analysis tool" PATHS ${MSVC_INSTALL_PATHS} PATH_SUFFIXES VC/bin) - IF(gp_cmd) - GET_FILENAME_COMPONENT(dir ${gp_cmd} PATH) - SET(ENV{PATH} "${dir}/../../../Common7/IDE;$ENV{PATH}") - ENDIF() -ENDIF() + if(gp_cmd) + get_filename_component(dir ${gp_cmd} PATH) + set(ENV{PATH} "${dir}/../../../Common7/IDE;$ENV{PATH}") + endif() +endif() -FIND_PROGRAM(CURL_TOOL_PATH curl DOC "The curl-tool") +find_program(CURL_TOOL_PATH curl DOC "The curl-tool") ###################### ### Find libraries ### ###################### # Do not search for libs if this option is set -IF(OGS_NO_EXTERNAL_LIBS) - RETURN() -ENDIF() # OGS_NO_EXTERNAL_LIBS +if(OGS_NO_EXTERNAL_LIBS) + return() +endif() # OGS_NO_EXTERNAL_LIBS # Clang does not have OpenMP support atm, see https://github.com/ufz/ogs/issues/8 -IF(NOT COMPILER_IS_CLANG) - FIND_PACKAGE(OpenMP) -ENDIF () # !clang -IF(OPENMP_FOUND) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -ENDIF() +if(NOT COMPILER_IS_CLANG) + find_package(OpenMP) +endif () # !clang +if(OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +endif() -FIND_PACKAGE(Metis QUIET) +find_package(Metis QUIET) ## Qt4 library ## -IF(NOT OGS_DONT_USE_QT) - FIND_PACKAGE( Qt4 4.7) -ENDIF(NOT OGS_DONT_USE_QT) +if(NOT OGS_DONT_USE_QT) + find_package( Qt4 4.7) +endif(NOT OGS_DONT_USE_QT) -IF ( QT4_FOUND ) +if ( QT4_FOUND ) # Enable more modules - SET(QT_USE_QTOPENGL TRUE) - SET(QT_USE_QTSQL TRUE) - SET(QT_USE_QTTEST TRUE) - SET(QT_USE_QTXML TRUE) - SET(QT_USE_QTXMLPATTERNS TRUE) - INCLUDE( ${QT_USE_FILE} ) - ADD_DEFINITIONS(${QT_DEFINITIONS} -DQT4_FOUND) -ENDIF (QT4_FOUND ) + set(QT_USE_QTOPENGL TRUE) + set(QT_USE_QTSQL TRUE) + set(QT_USE_QTTEST TRUE) + set(QT_USE_QTXML TRUE) + set(QT_USE_QTXMLPATTERNS TRUE) + include( ${QT_USE_FILE} ) + add_definitions(${QT_DEFINITIONS} -DQT4_FOUND) +endif (QT4_FOUND ) ## pthread ## -SET ( CMAKE_THREAD_PREFER_PTHREAD ON ) -FIND_PACKAGE ( Threads ) -IF ( CMAKE_USE_PTHREADS_INIT ) - SET (HAVE_PTHREADS TRUE) - ADD_DEFINITIONS(-DHAVE_PTHREADS) -ENDIF (CMAKE_USE_PTHREADS_INIT ) +set ( CMAKE_THREAD_PREFER_PTHREAD ON ) +find_package ( Threads ) +if ( CMAKE_USE_PTHREADS_INIT ) + set (HAVE_PTHREADS TRUE) + add_definitions(-DHAVE_PTHREADS) +endif (CMAKE_USE_PTHREADS_INIT ) # blas -#FIND_PACKAGE ( BLAS QUIET ) +#find_package ( BLAS QUIET ) # lapack -FIND_PACKAGE ( LAPACK QUIET ) +find_package ( LAPACK QUIET ) ## geotiff ## -FIND_PACKAGE( LibGeoTiff ) -IF(GEOTIFF_FOUND) - ADD_DEFINITIONS(-DGEOTIFF_FOUND) -ENDIF() # GEOTIFF_FOUND +find_package( LibGeoTiff ) +if(GEOTIFF_FOUND) + add_definitions(-DGEOTIFF_FOUND) +endif() # GEOTIFF_FOUND ## lis ## -IF(OGS_USE_LIS) - FIND_PACKAGE( LIS REQUIRED ) -ENDIF() +if(OGS_USE_LIS) + find_package( LIS REQUIRED ) +endif() -IF(OGS_USE_PETSC) - MESSAGE (STATUS "Configuring for PETSc" ) +if(OGS_USE_PETSC) + message (STATUS "Configuring for PETSc" ) - OPTION(FORCE_PETSC_EXECUTABLE_RUNS "Force CMake to accept a given PETSc configuration" ON) + option(FORCE_PETSC_EXECUTABLE_RUNS "Force CMake to accept a given PETSc configuration" ON) ##Force CMake to accept a given PETSc configuration in case the failure of MPI tests ##This may cause the compilation broken. - IF(FORCE_PETSC_EXECUTABLE_RUNS) - SET(PETSC_EXECUTABLE_RUNS YES) - ENDIF() + if(FORCE_PETSC_EXECUTABLE_RUNS) + set(PETSC_EXECUTABLE_RUNS YES) + endif() - SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/scripts/cmake/findPETSC") - FIND_PACKAGE(PETSc REQUIRED) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/scripts/cmake/findPETSC") + find_package(PETSc REQUIRED) - INCLUDE_DIRECTORIES(SYSTEM ${PETSC_INCLUDES}) + include_directories(SYSTEM ${PETSC_INCLUDES}) - ADD_DEFINITIONS(-DPETSC_VERSION_NUMBER=PETSC_VERSION_MAJOR*1000+PETSC_VERSION_MINOR*10) + add_definitions(-DPETSC_VERSION_NUMBER=PETSC_VERSION_MAJOR*1000+PETSC_VERSION_MINOR*10) -ENDIF() +endif() ## Check MPI package -IF(OGS_USE_MPI) - FIND_PACKAGE(MPI REQUIRED) - INCLUDE_DIRECTORIES(SYSTEM ${MPI_CXX_INCLUDE_PATH}) -ENDIF() +if(OGS_USE_MPI) + find_package(MPI REQUIRED) + include_directories(SYSTEM ${MPI_CXX_INCLUDE_PATH}) +endif() diff --git a/scripts/cmake/FindMetis.cmake b/scripts/cmake/FindMetis.cmake index b923a9914a04ffa52666080b25111075b18843ff..6f59dd3598a2981e781688c5d8aeedf644a544d3 100644 --- a/scripts/cmake/FindMetis.cmake +++ b/scripts/cmake/FindMetis.cmake @@ -11,11 +11,11 @@ # http://glaros.dtc.umn.edu/gkhome/metis/metis/download # -FIND_PATH(METIS_INCLUDE_DIR metis.h) +find_path(METIS_INCLUDE_DIR metis.h) -FIND_LIBRARY(METIS_LIBRARY metis) +find_library(METIS_LIBRARY metis) -SET(METIS_LIBRARIES ${METIS_LIBRARY}) +set(METIS_LIBRARIES ${METIS_LIBRARY}) -INCLUDE(FindPackageHandleStandardArgs) +include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(Metis DEFAULT_MSG METIS_LIBRARY METIS_INCLUDE_DIR) diff --git a/scripts/cmake/Functions.cmake b/scripts/cmake/Functions.cmake index 8a5161e64c9462cbd41183430f31f10a63f963d8..a862b2529b707b3844ef842f66fae21752fc7788 100644 --- a/scripts/cmake/Functions.cmake +++ b/scripts/cmake/Functions.cmake @@ -1,59 +1,59 @@ # Returns the current subdirectory in the sources directory. -MACRO(GET_CURRENT_SOURCE_SUBDIRECTORY CURRENT_SOURCE_SUBDIRECTORY) - STRING(REGEX REPLACE ".*/([^/]*)" "\\1" REGEX_RESULT "${CMAKE_CURRENT_SOURCE_DIR}" ) - SET(${CURRENT_SOURCE_SUBDIRECTORY} ${REGEX_RESULT}) -ENDMACRO() +macro(GET_CURRENT_SOURCE_SUBDIRECTORY CURRENT_SOURCE_SUBDIRECTORY) + string(REGEX REPLACE ".*/([^/]*)" "\\1" REGEX_RESULT "${CMAKE_CURRENT_SOURCE_DIR}" ) + set(${CURRENT_SOURCE_SUBDIRECTORY} ${REGEX_RESULT}) +endmacro() # Returns a list of source files (*.h and *.cpp) in SOURCE_FILES and creates a Visual # Studio folder. A (relative) subdirectory can be passed as second parameter (optional). -MACRO(GET_SOURCE_FILES SOURCE_FILES) +macro(GET_SOURCE_FILES SOURCE_FILES) - IF(${ARGC} EQUAL 2) - SET(DIR "${ARGV1}") - ELSE() - SET(DIR ".") - ENDIF() + if(${ARGC} EQUAL 2) + set(DIR "${ARGV1}") + else() + set(DIR ".") + endif() # Get all files in the directory - FILE(GLOB GET_SOURCE_FILES_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.h) - FILE(GLOB GET_SOURCE_FILES_TEMPLATES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.tpp) - FILE(GLOB GET_SOURCE_FILES_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.cpp) + file(GLOB GET_SOURCE_FILES_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.h) + file(GLOB GET_SOURCE_FILES_TEMPLATES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.tpp) + file(GLOB GET_SOURCE_FILES_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.cpp) - SET(${SOURCE_FILES} ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_TEMPLATES} ${GET_SOURCE_FILES_SOURCES}) + set(${SOURCE_FILES} ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_TEMPLATES} ${GET_SOURCE_FILES_SOURCES}) # Adapt DIR var to backslash syntax of SOURCE_GROUP cmd - IF(${ARGC} EQUAL 2) - STRING(REPLACE "/" "\\\\" DIR ${DIR}) - SET(DIR "\\${DIR}") - ELSE() - SET(DIR "") - ENDIF() + if(${ARGC} EQUAL 2) + string(REPLACE "/" "\\\\" DIR ${DIR}) + set(DIR "\\${DIR}") + else() + set(DIR "") + endif() GET_CURRENT_SOURCE_SUBDIRECTORY(DIRECTORY) - SOURCE_GROUP( "${DIRECTORY}${DIR}" FILES + source_group( "${DIRECTORY}${DIR}" FILES ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_SOURCES} ${GET_SOURCE_FILES_TEMPLATES}) -ENDMACRO() +endmacro() # Appends a list of source files (*.h and *.cpp) to SOURCE_FILES and creates a Visual # Studio folder. A (relative) subdirectory can be passed as second parameter (optional). -MACRO(APPEND_SOURCE_FILES SOURCE_FILES) +macro(APPEND_SOURCE_FILES SOURCE_FILES) GET_SOURCE_FILES(TMP_SOURCES "${ARGV}") - SET(${SOURCE_FILES} ${${SOURCE_FILES}} ${TMP_SOURCES}) -ENDMACRO() + set(${SOURCE_FILES} ${${SOURCE_FILES}} ${TMP_SOURCES}) +endmacro() # Creates one ctest for each googletest found in source files passed as arguments # number two onwards. Argument one specifies the testrunner executable. -MACRO(ADD_GOOGLE_TESTS executable) - FOREACH ( source ${ARGN} ) - FILE(READ "${source}" contents) - STRING(REGEX MATCHALL "TEST_?F?\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents}) - FOREACH(hit ${found_tests}) - STRING(REGEX REPLACE ".*\\(([A-Za-z_0-9]+)[, ]*([A-Za-z_0-9]+)\\).*" "\\1.\\2" test_name ${hit}) - ADD_TEST(${test_name} ${executable} --gtest_output=xml --gtest_filter=${test_name} ${MI3CTestingDir}) +macro(ADD_GOOGLE_TESTS executable) + foreach ( source ${ARGN} ) + file(READ "${source}" contents) + string(REGEX MATCHALL "TEST_?F?\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents}) + foreach(hit ${found_tests}) + string(REGEX REPLACE ".*\\(([A-Za-z_0-9]+)[, ]*([A-Za-z_0-9]+)\\).*" "\\1.\\2" test_name ${hit}) + add_test(${test_name} ${executable} --gtest_output=xml --gtest_filter=${test_name} ${MI3CTestingDir}) # message ("Adding test: ${test_name}") - ENDFOREACH(hit) - ENDFOREACH() -ENDMACRO() + endforeach(hit) + endforeach() +endmacro() diff --git a/scripts/cmake/InstallThirdPartyLibs.cmake b/scripts/cmake/InstallThirdPartyLibs.cmake index b56f4fbd26b0731c8c56d586a9e4cba2d6a6a268..6109271c0a4cd045d6ceeb0d0a88644101572da7 100644 --- a/scripts/cmake/InstallThirdPartyLibs.cmake +++ b/scripts/cmake/InstallThirdPartyLibs.cmake @@ -23,103 +23,103 @@ # # Argument checking -IF(NOT INSTALL_PREFIX OR NOT GENERATOR) - MESSAGE(FATAL_ERROR "You need to specify an INSTALL_PREFIX and a GENERATOR: cmake -DINSTALL_PREFIX=C:/libs -DGENERATOR=\"Visual Studio 11 Win64\" -P ${CMAKE_CURRENT_LIST_DIR}/InstallThirdPartyLibs.cmake") -ENDIF() -FILE(TO_CMAKE_PATH ${INSTALL_PREFIX} INSTALL_PREFIX) -FILE(MAKE_DIRECTORY ${INSTALL_PREFIX}) -IF(NOT IS_DIRECTORY ${INSTALL_PREFIX}) - MESSAGE(FATAL_ERROR "Directory ${INSTALL_PREFIX} is not writable!") -ENDIF() -IF(NOT ${GENERATOR} STREQUAL "Visual Studio 11" AND +if(NOT INSTALL_PREFIX OR NOT GENERATOR) + message(FATAL_ERROR "You need to specify an INSTALL_PREFIX and a GENERATOR: cmake -DINSTALL_PREFIX=C:/libs -DGENERATOR=\"Visual Studio 11 Win64\" -P ${CMAKE_CURRENT_LIST_DIR}/InstallThirdPartyLibs.cmake") +endif() +file(TO_CMAKE_PATH ${INSTALL_PREFIX} INSTALL_PREFIX) +file(MAKE_DIRECTORY ${INSTALL_PREFIX}) +if(NOT IS_DIRECTORY ${INSTALL_PREFIX}) + message(FATAL_ERROR "Directory ${INSTALL_PREFIX} is not writable!") +endif() +if(NOT ${GENERATOR} STREQUAL "Visual Studio 11" AND NOT ${GENERATOR} STREQUAL "Visual Studio 11 Win64" AND NOT ${GENERATOR} STREQUAL "Visual Studio 12" AND NOT ${GENERATOR} STREQUAL "Visual Studio 12 Win64" AND NOT ${GENERATOR} STREQUAL "Unix Makefiles") - MESSAGE(FATAL_ERROR "Make sure to specify a supported GENERATOR!") -ENDIF() + message(FATAL_ERROR "Make sure to specify a supported GENERATOR!") +endif() # CMake setup -SET(CMAKE_PREFIX_PATH ${INSTALL_PREFIX}) -SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} +set(CMAKE_PREFIX_PATH ${INSTALL_PREFIX}) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake" "${CMAKE_CURRENT_LIST_DIR}") -INCLUDE(ThirdPartyLibVersions) +include(ThirdPartyLibVersions) -INCLUDE(ProcessorCount) +include(ProcessorCount) ProcessorCount(NUM_PROCESSORS) -SET(MAKE_PARALLEL_ARGS "") -IF(NOT WIN32 AND NOT NUM_PROCESSORS EQUAL 0) - SET(MAKE_PARALLEL_ARGS "--" "-j${NUM_PROCESSORS}") -ENDIF() +set(MAKE_PARALLEL_ARGS "") +if(NOT WIN32 AND NOT NUM_PROCESSORS EQUAL 0) + set(MAKE_PARALLEL_ARGS "--" "-j${NUM_PROCESSORS}") +endif() -SET(VISUAL_STUDIO_PARALLEL "") -IF(WIN32) - SET(VISUAL_STUDIO_PARALLEL "-DCMAKE_CXX_FLAGS=\"/MP\"") -ENDIF() +set(VISUAL_STUDIO_PARALLEL "") +if(WIN32) + set(VISUAL_STUDIO_PARALLEL "-DCMAKE_CXX_FLAGS=\"/MP\"") +endif() # Eigen -FILE(DOWNLOAD ${OGS_EIGEN_URL} tmp/eigen.tar.gz +file(DOWNLOAD ${OGS_EIGEN_URL} tmp/eigen.tar.gz SHOW_PROGRESS EXPECTED_MD5 ${OGS_EIGEN_MD5}) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xf eigen.tar.gz +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf eigen.tar.gz WORKING_DIRECTORY tmp) -FILE(GLOB EIGEN_SOURCE_DIR tmp/eigen-*) -FILE(MAKE_DIRECTORY tmp/build-eigen) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} ${EIGEN_SOURCE_DIR} -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} +file(GLOB EIGEN_SOURCE_DIR tmp/eigen-*) +file(MAKE_DIRECTORY tmp/build-eigen) +execute_process(COMMAND ${CMAKE_COMMAND} ${EIGEN_SOURCE_DIR} -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} WORKING_DIRECTORY tmp/build-eigen) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install +execute_process(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install WORKING_DIRECTORY tmp/build-eigen) # VTK -FILE(DOWNLOAD ${OGS_VTK_URL} tmp/vtk.tar.gz +file(DOWNLOAD ${OGS_VTK_URL} tmp/vtk.tar.gz SHOW_PROGRESS EXPECTED_MD5 ${OGS_VTK_MD5}) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xf vtk.tar.gz +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf vtk.tar.gz WORKING_DIRECTORY tmp) -FILE(GLOB VTK_SOURCE_DIR tmp/VTK-*) -FILE(MAKE_DIRECTORY tmp/build-vtk) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} ${VTK_SOURCE_DIR} -G "${GENERATOR}" +file(GLOB VTK_SOURCE_DIR tmp/VTK-*) +file(MAKE_DIRECTORY tmp/build-vtk) +execute_process(COMMAND ${CMAKE_COMMAND} ${VTK_SOURCE_DIR} -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DBUILD_TESTING=OFF -DModule_vtkGUISupportQtOpenGL=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_DEBUG_POSTFIX=d ${VISUAL_STUDIO_PARALLEL} WORKING_DIRECTORY tmp/build-vtk) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} +execute_process(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} WORKING_DIRECTORY tmp/build-vtk) -IF(WIN32) - EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . --config Debug --target install +if(WIN32) + execute_process(COMMAND ${CMAKE_COMMAND} --build . --config Debug --target install WORKING_DIRECTORY tmp/build-vtk) -ENDIF() +endif() # GeoTiff -FILE(DOWNLOAD ${OGS_TIFF_URL} tmp/tiff.zip +file(DOWNLOAD ${OGS_TIFF_URL} tmp/tiff.zip SHOW_PROGRESS EXPECTED_MD5 ${OGS_TIFF_MD5}) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xf tiff.zip +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf tiff.zip WORKING_DIRECTORY tmp) -FILE(GLOB TIFF_SOURCE_DIR tmp/tiff-*) -FILE(MAKE_DIRECTORY tmp/build-tiff) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} ${TIFF_SOURCE_DIR} -G "${GENERATOR}" +file(GLOB TIFF_SOURCE_DIR tmp/tiff-*) +file(MAKE_DIRECTORY tmp/build-tiff) +execute_process(COMMAND ${CMAKE_COMMAND} ${TIFF_SOURCE_DIR} -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ${VISUAL_STUDIO_PARALLEL} WORKING_DIRECTORY tmp/build-tiff) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} +execute_process(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} WORKING_DIRECTORY tmp/build-tiff) -FILE(DOWNLOAD ${OGS_GEOTIFF_URL} tmp/geotiff.zip +file(DOWNLOAD ${OGS_GEOTIFF_URL} tmp/geotiff.zip SHOW_PROGRESS EXPECTED_MD5 ${OGS_GEOTIFF_MD5}) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xf geotiff.zip +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf geotiff.zip WORKING_DIRECTORY tmp) -FILE(GLOB GEOTIFF_SOURCE_DIR tmp/geotiff-*) -FILE(MAKE_DIRECTORY tmp/build-geotiff) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} ${GEOTIFF_SOURCE_DIR} -G "${GENERATOR}" +file(GLOB GEOTIFF_SOURCE_DIR tmp/geotiff-*) +file(MAKE_DIRECTORY tmp/build-geotiff) +execute_process(COMMAND ${CMAKE_COMMAND} ${GEOTIFF_SOURCE_DIR} -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DWITH_PROJ4=OFF ${VISUAL_STUDIO_PARALLEL} WORKING_DIRECTORY tmp/build-geotiff) -EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} +execute_process(COMMAND ${CMAKE_COMMAND} --build . --config Release --target install ${MAKE_PARALLEL_ARGS} WORKING_DIRECTORY tmp/build-geotiff) # Cleanup -FILE(REMOVE_RECURSE tmp) +file(REMOVE_RECURSE tmp) -MESSAGE(STATUS "Finished!") -IF(WIN32) - FILE(TO_NATIVE_PATH ${INSTALL_PREFIX} INSTALL_PREFIX) - MESSAGE(STATUS "Now make sure to create an environment variable CMAKE_LIBRARY_SEARCH_PATH which points to ${INSTALL_PREFIX}!") - MESSAGE(STATUS "Make also sure to append %CMAKE_LIBRARY_SEARCH_PATH%\\bin to your PATH environment variable!") -ENDIF() +message(STATUS "Finished!") +if(WIN32) + file(TO_NATIVE_PATH ${INSTALL_PREFIX} INSTALL_PREFIX) + message(STATUS "Now make sure to create an environment variable CMAKE_LIBRARY_SEARCH_PATH which points to ${INSTALL_PREFIX}!") + message(STATUS "Make also sure to append %CMAKE_LIBRARY_SEARCH_PATH%\\bin to your PATH environment variable!") +endif() diff --git a/scripts/cmake/MSVCPaths.cmake b/scripts/cmake/MSVCPaths.cmake index c5ec86f2d698c9282e28d1cee33ffcc0a602c6b9..36092706fc814ef76db851b1032a80b0bd6575a6 100644 --- a/scripts/cmake/MSVCPaths.cmake +++ b/scripts/cmake/MSVCPaths.cmake @@ -2,23 +2,23 @@ # install directories. # Usage: # -# INCLUDE(MSVCPaths) -# FIND_PROGRAM(DUMPBIN_TOOL_PATH dumpbin DOC "Windows dependency analysis tool" +# include(MSVCPaths) +# find_program(DUMPBIN_TOOL_PATH dumpbin DOC "Windows dependency analysis tool" # PATHS MSVC_INSTALL_PATHS PATH_SUFFIXES VC/bin) -IF(MSVC) - IF(MSVC_VERSION EQUAL 1700) - SET(MSVC_NUMBER 11.0) - ELSEIF(MSVC_VERSION EQUAL 1800) - SET(MSVC_NUMBER 12.0) - ENDIF() - GET_FILENAME_COMPONENT(VS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_NUMBER}\\Setup\\VS;ProductDir]" REALPATH) - GET_FILENAME_COMPONENT(VS_EXPRESS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\${MSVC_NUMBER}\\Setup\\VS;ProductDir]" REALPATH) +if(MSVC) + if(MSVC_VERSION EQUAL 1700) + set(MSVC_NUMBER 11.0) + elseif(MSVC_VERSION EQUAL 1800) + set(MSVC_NUMBER 12.0) + endif() + get_filename_component(VS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_NUMBER}\\Setup\\VS;ProductDir]" REALPATH) + get_filename_component(VS_EXPRESS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\${MSVC_NUMBER}\\Setup\\VS;ProductDir]" REALPATH) - SET(X86_TMP "ProgramFiles(x86)") - SET(MSVC_INSTALL_PATHS + set(X86_TMP "ProgramFiles(x86)") + set(MSVC_INSTALL_PATHS ${VS_DIR} ${VS_EXPRESS_DIR} "$ENV{ProgramFiles}/Microsoft\ Visual\ Studio\ ${MSVC_NUMBER}" "$ENV{${X86_TMP}}/Microsoft\ Visual\ Studio\ ${MSVC_NUMBER}" CACHE STRING "" FORCE) -ENDIF() +endif() diff --git a/scripts/cmake/ProjectSetup.cmake b/scripts/cmake/ProjectSetup.cmake index 9cced7ef8120739d778144cc4f5e559a8de1646d..d9b38cd0e207f3c5d4c44952ebcf8d7d2354d660 100644 --- a/scripts/cmake/ProjectSetup.cmake +++ b/scripts/cmake/ProjectSetup.cmake @@ -1,30 +1,30 @@ # Set build directories -SET( EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin ) -SET( LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib ) +set( EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin ) +set( LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib ) # Logging level -IF(OGS_DISABLE_LOGGING) - SET(OGS_LOG_LEVEL LOGOG_LEVEL_NONE) -ENDIF() +if(OGS_DISABLE_LOGGING) + set(OGS_LOG_LEVEL LOGOG_LEVEL_NONE) +endif() -IF(NOT DEFINED OGS_LOG_LEVEL) - IF(CMAKE_BUILD_TYPE STREQUAL "Debug") - ADD_DEFINITIONS(-DLOGOG_LEVEL=LOGOG_LEVEL_DEBUG) - ELSE() - ADD_DEFINITIONS(-DLOGOG_LEVEL=LOGOG_LEVEL_INFO) - ENDIF() # CMAKE_BUILD_TYPE = Debug -ELSE() - ADD_DEFINITIONS(-DLOGOG_LEVEL=${OGS_LOG_LEVEL}) -ENDIF() # NOT DEFINED OGS_LOG_LEVEL +if(NOT DEFINED OGS_LOG_LEVEL) + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + add_definitions(-DLOGOG_LEVEL=LOGOG_LEVEL_DEBUG) + else() + add_definitions(-DLOGOG_LEVEL=LOGOG_LEVEL_INFO) + endif() # CMAKE_BUILD_TYPE = Debug +else() + add_definitions(-DLOGOG_LEVEL=${OGS_LOG_LEVEL}) +endif() # NOT DEFINED OGS_LOG_LEVEL # Enable Visual Studio project folder grouping -SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ) +include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ) # Check if this project is included in another -IF(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - SET(IS_SUBPROJECT ON INTERNAL) -ENDIF() +if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(IS_SUBPROJECT ON INTERNAL) +endif() -SITE_NAME(HOSTNAME) +site_name(HOSTNAME) diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake index 115251634e1a5354c89e21fbb5c3d22c258f914a..93f86302742a2372cbe0749805a6c133e080fe00 100644 --- a/scripts/cmake/SubmoduleSetup.cmake +++ b/scripts/cmake/SubmoduleSetup.cmake @@ -1,41 +1,41 @@ # This file initializes the required submodules -SET(OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT "" CACHE STRING +set(OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT "" CACHE STRING "User given submodules which should be checked out by CMake.") -IF(NOT OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT) - SET(OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT "") -ENDIF() -SET(REQUIRED_SUBMODULES +if(NOT OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT) + set(OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT "") +endif() +set(REQUIRED_SUBMODULES ThirdParty/quickcheck ${OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT} ) -IF(OGS_BUILD_GUI) - SET(REQUIRED_SUBMODULES ${REQUIRED_SUBMODULES} ThirdParty/tetgen) -ENDIF() +if(OGS_BUILD_GUI) + set(REQUIRED_SUBMODULES ${REQUIRED_SUBMODULES} ThirdParty/tetgen) +endif() -FOREACH(SUBMODULE ${REQUIRED_SUBMODULES}) - IF(WIN32) - SET(SUBMODULE_STATE 1) - ELSE() +foreach(SUBMODULE ${REQUIRED_SUBMODULES}) + if(WIN32) + set(SUBMODULE_STATE 1) + else() # Check if submodule is already initialized - EXECUTE_PROCESS( + execute_process( COMMAND ${BASH_TOOL_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/SubmoduleCheck.sh ${SUBMODULE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE SUBMODULE_STATE ) - ENDIF() + endif() - IF(SUBMODULE_STATE EQUAL 1) - MESSAGE(STATUS "Initializing submodule ${SUBMODULE}") - EXECUTE_PROCESS( + if(SUBMODULE_STATE EQUAL 1) + message(STATUS "Initializing submodule ${SUBMODULE}") + execute_process( COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - ELSEIF(SUBMODULE_STATE EQUAL 2) - MESSAGE(STATUS "Updating submodule ${SUBMODULE}") - EXECUTE_PROCESS( + elseif(SUBMODULE_STATE EQUAL 2) + message(STATUS "Updating submodule ${SUBMODULE}") + execute_process( COMMAND git submodule update ${SUBMODULE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - ENDIF() -ENDFOREACH() + endif() +endforeach() diff --git a/scripts/cmake/ThirdPartyLibVersions.cmake b/scripts/cmake/ThirdPartyLibVersions.cmake index 8a6075dc67c8163d15ec6b570b1fef0b07c29341..9d7f806a746cf541f4def427ed590b72b5384de2 100644 --- a/scripts/cmake/ThirdPartyLibVersions.cmake +++ b/scripts/cmake/ThirdPartyLibVersions.cmake @@ -1,14 +1,14 @@ -SET(OGS_BOOST_URL "http://switch.dl.sourceforge.net/project/boost/boost/1.52.0/boost_1_52_0.tar.bz2") -SET(OGS_BOOST_MD5 "3a855e0f919107e0ca4de4d84ad3f750") +set(OGS_BOOST_URL "http://switch.dl.sourceforge.net/project/boost/boost/1.52.0/boost_1_52_0.tar.bz2") +set(OGS_BOOST_MD5 "3a855e0f919107e0ca4de4d84ad3f750") -SET(OGS_EIGEN_URL "http://opengeosys.org/images/dev/eigen-3.1.4.tar.gz") -SET(OGS_EIGEN_MD5 "e0fcbff1a486f0a305df67c36236b637") +set(OGS_EIGEN_URL "http://opengeosys.org/images/dev/eigen-3.1.4.tar.gz") +set(OGS_EIGEN_MD5 "e0fcbff1a486f0a305df67c36236b637") -SET(OGS_VTK_VERSION 6.1.0) -SET(OGS_VTK_URL "http://www.vtk.org/files/release/6.1/VTK-6.1.0.tar.gz") -SET(OGS_VTK_MD5 "25e4dfb3bad778722dcaec80cd5dab7d") +set(OGS_VTK_VERSION 6.1.0) +set(OGS_VTK_URL "http://www.vtk.org/files/release/6.1/VTK-6.1.0.tar.gz") +set(OGS_VTK_MD5 "25e4dfb3bad778722dcaec80cd5dab7d") -SET(OGS_TIFF_URL "https://github.com/ufz/tiff/archive/4.0.1.zip") -SET(OGS_TIFF_MD5 "8d5c18654bda9c731d8a6e2dc958751b") -SET(OGS_GEOTIFF_URL "https://github.com/ufz/geotiff/archive/1.4.0.zip") -SET(OGS_GEOTIFF_MD5 "5c86853b96f0edca7b9d9e894a8dd93b") +set(OGS_TIFF_URL "https://github.com/ufz/tiff/archive/4.0.1.zip") +set(OGS_TIFF_MD5 "8d5c18654bda9c731d8a6e2dc958751b") +set(OGS_GEOTIFF_URL "https://github.com/ufz/geotiff/archive/1.4.0.zip") +set(OGS_GEOTIFF_MD5 "5c86853b96f0edca7b9d9e894a8dd93b") diff --git a/scripts/cmake/cmake/CodeCoverage.cmake b/scripts/cmake/cmake/CodeCoverage.cmake index bfb906a32a72815d39568943846f8aa639cc5cc8..ecee80cfc97d512a3fc43eb40f8937dc059847b1 100644 --- a/scripts/cmake/cmake/CodeCoverage.cmake +++ b/scripts/cmake/cmake/CodeCoverage.cmake @@ -5,40 +5,40 @@ # USAGE: # 1. Copy this file into your cmake modules path # 2. Add the following line to your CMakeLists.txt: -# INCLUDE(CodeCoverage) +# include(CodeCoverage) # -# 3. SET(COVERAGE_EXCLUDES 'dir1/*' 'dir2/*') +# 3. set(COVERAGE_EXCLUDES 'dir1/*' 'dir2/*') # 4. Use the function SETUP_TARGET_FOR_COVERAGE to create a custom make target # which runs your test executable and produces a lcov code coverage report. # # Check prereqs -FIND_PROGRAM( GCOV_PATH gcov ) -FIND_PROGRAM( LCOV_PATH lcov ) -FIND_PROGRAM( GENHTML_PATH genhtml ) -FIND_PROGRAM( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/scripts/test) +find_program( GCOV_PATH gcov ) +find_program( LCOV_PATH lcov ) +find_program( GENHTML_PATH genhtml ) +find_program( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/scripts/test) -IF(NOT GCOV_PATH) - MESSAGE(FATAL_ERROR "gcov not found! Aborting...") -ENDIF() # NOT GCOV_PATH +if(NOT GCOV_PATH) + message(FATAL_ERROR "gcov not found! Aborting...") +endif() # NOT GCOV_PATH -IF(NOT CMAKE_COMPILER_IS_GNUCXX AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") -ENDIF() # NOT CMAKE_COMPILER_IS_GNUCXX +if(NOT CMAKE_COMPILER_IS_GNUCXX AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + message(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") +endif() # NOT CMAKE_COMPILER_IS_GNUCXX -IF ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) - MESSAGE( WARNING "Code coverage results with an optimised (non-Debug) build may be misleading" ) -ENDIF() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug" +if ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) + message( WARNING "Code coverage results with an optimised (non-Debug) build may be misleading" ) +endif() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug" # Setup compiler options -ADD_DEFINITIONS(-fprofile-arcs -ftest-coverage) +add_definitions(-fprofile-arcs -ftest-coverage) -IF(CMAKE_COMPILER_IS_GNUCXX) - LINK_LIBRARIES(gcov) -ELSE() - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") -ENDIF() +if(CMAKE_COMPILER_IS_GNUCXX) + link_libraries(gcov) +else() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") +endif() # Param _targetname The name of new the custom make target # Param _testrunner The name of the target which runs the tests @@ -46,18 +46,18 @@ ENDIF() # HTML report is generated in _outputname/index.html # Optional fourth parameter is passed as arguments to _testrunner # Pass them in list form, e.g.: "-j;2" for -j 2 -FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) +function(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) - IF(NOT LCOV_PATH) - MESSAGE(FATAL_ERROR "lcov not found! Aborting...") - ENDIF() # NOT LCOV_PATH + if(NOT LCOV_PATH) + message(FATAL_ERROR "lcov not found! Aborting...") + endif() # NOT LCOV_PATH - IF(NOT GENHTML_PATH) - MESSAGE(FATAL_ERROR "genhtml not found! Aborting...") - ENDIF() # NOT GENHTML_PATH + if(NOT GENHTML_PATH) + message(FATAL_ERROR "genhtml not found! Aborting...") + endif() # NOT GENHTML_PATH # Setup target - ADD_CUSTOM_TARGET(${_targetname} + add_custom_target(${_targetname} # Cleanup lcov ${LCOV_PATH} --directory . --zerocounters @@ -77,40 +77,40 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) ) # Show info where to find the report - ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD + add_custom_command(TARGET ${_targetname} POST_BUILD COMMAND ; COMMENT "Open ./${_outputname}/index.html in your browser to view the coverage report." ) -ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE +endfunction() # SETUP_TARGET_FOR_COVERAGE # Param _targetname The name of new the custom make target # Param _testrunner The name of the target which runs the tests # Param _outputname cobertura output is generated as _outputname.xml # Optional fourth parameter is passed as arguments to _testrunner # Pass them in list form, e.g.: "-j;2" for -j 2 -FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname) +function(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname) - IF(NOT PYTHON_EXECUTABLE) - MESSAGE(FATAL_ERROR "Python not found! Aborting...") - ENDIF() # NOT PYTHON_EXECUTABLE + if(NOT PYTHON_EXECUTABLE) + message(FATAL_ERROR "Python not found! Aborting...") + endif() # NOT PYTHON_EXECUTABLE - IF(NOT GCOVR_PATH) - MESSAGE(FATAL_ERROR "gcovr not found! Aborting...") - ENDIF() # NOT GCOVR_PATH + if(NOT GCOVR_PATH) + message(FATAL_ERROR "gcovr not found! Aborting...") + endif() # NOT GCOVR_PATH # Combine excludes to several -e arguments - SET(COBERTURA_EXCLUDES "") - FOREACH(EXCLUDE ${COVERAGE_EXCLUDES}) - SET(COBERTURA_EXCLUDES "-e ${EXCLUDE} ${COBERTURA_EXCLUDES}") - ENDFOREACH() + set(COBERTURA_EXCLUDES "") + foreach(EXCLUDE ${COVERAGE_EXCLUDES}) + set(COBERTURA_EXCLUDES "-e ${EXCLUDE} ${COBERTURA_EXCLUDES}") + endforeach() - IF(DEFINED ENV{JENKINS_URL}) + if(DEFINED ENV{JENKINS_URL}) # Get relative paths - STRING(REPLACE $ENV{WORKSPACE} "." CMAKE_RELATIVE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) - STRING(REPLACE "/gpfs0" "" CMAKE_RELATIVE_SOURCE_DIR ${CMAKE_RELATIVE_SOURCE_DIR}) + string(REPLACE $ENV{WORKSPACE} "." CMAKE_RELATIVE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + string(REPLACE "/gpfs0" "" CMAKE_RELATIVE_SOURCE_DIR ${CMAKE_RELATIVE_SOURCE_DIR}) - ADD_CUSTOM_TARGET(${_targetname} + add_custom_target(${_targetname} # Run tests ${_testrunner} ${ARGV3} @@ -122,8 +122,8 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname DEPENDS ${_testrunner} COMMENT "Running gcovr to produce Cobertura code coverage report for Jenkins." ) - ELSE() - ADD_CUSTOM_TARGET(${_targetname} + else() + add_custom_target(${_targetname} # Run tests ${_testrunner} ${ARGV3} @@ -135,12 +135,12 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname DEPENDS ${_testrunner} COMMENT "Running gcovr to produce Cobertura code coverage report." ) - ENDIF() + endif() # Show info where to find the report - ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD + add_custom_command(TARGET ${_targetname} POST_BUILD COMMAND ; COMMENT "Cobertura code coverage report saved in ${_outputname}.xml." ) -ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE_COBERTURA +endfunction() # SETUP_TARGET_FOR_COVERAGE_COBERTURA diff --git a/scripts/cmake/cmake/FileCopyTargets.cmake b/scripts/cmake/cmake/FileCopyTargets.cmake index d92df16a3083f62586ab2efda4bfee038eee1120..04a83fc707dbf3e7d02b951ab269957ad3526e09 100644 --- a/scripts/cmake/cmake/FileCopyTargets.cmake +++ b/scripts/cmake/cmake/FileCopyTargets.cmake @@ -9,8 +9,8 @@ # add_dependencies(some_other_target this_target) to specify that another # target depends on this. # -# install_file_copy_target(<target_name> [arguments to INSTALL(PROGRAMS ...) ]) -# Works just the same as INSTALL(PROGRAMS ...) because it wraps it to install +# install_file_copy_target(<target_name> [arguments to install(PROGRAMS ...) ]) +# Works just the same as install(PROGRAMS ...) because it wraps it to install # the files you specified in add_file_copy_target # # diff --git a/scripts/cmake/cmake/FindGitHub.cmake b/scripts/cmake/cmake/FindGitHub.cmake index b8d2764eb14ed5fd2a58aa0d5fae9e0c148c168a..08a9989346e88c3a9f9375265cc752204b75e2a7 100644 --- a/scripts/cmake/cmake/FindGitHub.cmake +++ b/scripts/cmake/cmake/FindGitHub.cmake @@ -4,33 +4,33 @@ # GITHUB_BIN_DIR - Path to the bin-directory where useful bash tools can be found # # Example usage: -# FIND_PACKAGE(GitHub) -# FIND_PROGRAM(BASH_TOOL_PATH bash HINTS ${GITHUB_BIN_DIR} DOC "The bash executable") +# find_package(GitHub) +# find_program(BASH_TOOL_PATH bash HINTS ${GITHUB_BIN_DIR} DOC "The bash executable") -IF(WIN32 AND NOT GITHUB_FOUND) +if(WIN32 AND NOT GITHUB_FOUND) # Check install Path - FIND_PATH( + find_path( GITHUB_DIR shell.ps1 PATHS $ENV{LOCALAPPDATA}/GitHub $ENV{GitHub_DIR} NO_DEFAULT_PATH ) - IF(GITHUB_DIR) + if(GITHUB_DIR) - EXECUTE_PROCESS ( + execute_process ( COMMAND cmd /c "cd ${GITHUB_DIR}/PortableGit*/bin & cd" OUTPUT_VARIABLE PORTABLE_GIT_WIN_DIR ) - IF(PORTABLE_GIT_WIN_DIR) - STRING(STRIP ${PORTABLE_GIT_WIN_DIR} PORTABLE_GIT_WIN_DIR) - FILE(TO_CMAKE_PATH ${PORTABLE_GIT_WIN_DIR} PORTABLE_GIT_WIN_DIR) - SET(GITHUB_FOUND ON CACHE BOOL "Was GitHub for Windows found?") - SET(GITHUB_BIN_DIR ${PORTABLE_GIT_WIN_DIR} CACHE PATH "The path to the GitHub for Windows binaries." FORCE) - MESSAGE(STATUS "GitHub for Windows found.") - ENDIF() + if(PORTABLE_GIT_WIN_DIR) + string(STRIP ${PORTABLE_GIT_WIN_DIR} PORTABLE_GIT_WIN_DIR) + file(TO_CMAKE_PATH ${PORTABLE_GIT_WIN_DIR} PORTABLE_GIT_WIN_DIR) + set(GITHUB_FOUND ON CACHE BOOL "Was GitHub for Windows found?") + set(GITHUB_BIN_DIR ${PORTABLE_GIT_WIN_DIR} CACHE PATH "The path to the GitHub for Windows binaries." FORCE) + message(STATUS "GitHub for Windows found.") + endif() - ENDIF() -ENDIF() + endif() +endif() diff --git a/scripts/cmake/cmake/FindLAPACK.cmake b/scripts/cmake/cmake/FindLAPACK.cmake index ecec521f1e8418d859f2039554a3ee85cb977409..087ef8bcc1d4e2f17236536f911922eb52bdcdcf 100644 --- a/scripts/cmake/cmake/FindLAPACK.cmake +++ b/scripts/cmake/cmake/FindLAPACK.cmake @@ -65,7 +65,7 @@ foreach(_library ${_list}) set(_combined_name ${_combined_name}_${_library}) if(_libraries_work) - IF (WIN32) + if (WIN32) if(BLA_STATIC) set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.dll") endif(BLA_STATIC) @@ -73,7 +73,7 @@ foreach(_library ${_list}) NAMES ${_library} PATHS ENV LIB ) - ENDIF (WIN32) + endif (WIN32) if(APPLE) if(BLA_STATIC) diff --git a/scripts/cmake/cmake/FindLIS.cmake b/scripts/cmake/cmake/FindLIS.cmake index 4deb12a127f3ce1160d59360c321749ce6eb6c75..82cd22f8ec591404f7781cef6a01f016e6906fdf 100644 --- a/scripts/cmake/cmake/FindLIS.cmake +++ b/scripts/cmake/cmake/FindLIS.cmake @@ -27,8 +27,8 @@ find_library(LIS_LIBRARY $ENV{HOME}/lib/ ) -SET(LIS_LIBRARIES ${LIS_LIBRARY}) +set(LIS_LIBRARIES ${LIS_LIBRARY}) -INCLUDE(FindPackageHandleStandardArgs) +include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIS DEFAULT_MSG LIS_LIBRARY LIS_INCLUDE_DIR) diff --git a/scripts/cmake/cmake/FindMSVCRedist.cmake b/scripts/cmake/cmake/FindMSVCRedist.cmake index 50cb6814c2a4ce558720800677d245c3137c07b1..f33e03003c48c5443ce2553584de776f7a6a3f5c 100644 --- a/scripts/cmake/cmake/FindMSVCRedist.cmake +++ b/scripts/cmake/cmake/FindMSVCRedist.cmake @@ -1,4 +1,4 @@ -IF (MSVC) +if (MSVC) if (MSVC80) set(VCVERS 8) endif() @@ -9,17 +9,17 @@ IF (MSVC) set(VCVERS 10) endif() - IF(CMAKE_CL_64) - #IF(MSVC_VERSION GREATER 1599) + if(CMAKE_CL_64) + #if(MSVC_VERSION GREATER 1599) # VS 10 and later: - SET(CMAKE_MSVC_ARCH x64) - #ELSE() + set(CMAKE_MSVC_ARCH x64) + #else() # # VS 9 and earlier: - # SET(CMAKE_MSVC_ARCH amd64) - #ENDIF() - ELSE(CMAKE_CL_64) - SET(CMAKE_MSVC_ARCH x86) - ENDIF(CMAKE_CL_64) + # set(CMAKE_MSVC_ARCH amd64) + #endif() + else(CMAKE_CL_64) + set(CMAKE_MSVC_ARCH x86) + endif(CMAKE_CL_64) set(SDKVERS "2.0") if(${VCVERS} EQUAL 8) @@ -31,8 +31,8 @@ IF (MSVC) if(${VCVERS} EQUAL 10) set(SDKVERS "v7.0A") endif() - IF(MSVC${VCVERS}0 OR MSVC${VCVERS}) - FIND_PROGRAM(MSVC_REDIST NAMES + if(MSVC${VCVERS}0 OR MSVC${VCVERS}) + find_program(MSVC_REDIST NAMES vcredist_${CMAKE_MSVC_ARCH}/vcredist_${CMAKE_MSVC_ARCH}.exe PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\${VCVERS}.0;InstallDir]/../../SDK/v${SDKVERS}/BootStrapper/Packages/" @@ -40,9 +40,9 @@ vcredist_${CMAKE_MSVC_ARCH}/vcredist_${CMAKE_MSVC_ARCH}.exe "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\${VCVERS}.0;InstallDir]/../../SDK/v${SDKVERS}/BootStrapper/Packages/" "C:/Program Files (x86)/Microsoft SDKs/Windows/${SDKVERS}/Bootstrapper/Packages/" ) - GET_FILENAME_COMPONENT(vcredist_name "${MSVC_REDIST}" NAME) - INSTALL(PROGRAMS ${MSVC_REDIST} COMPONENT msvc_redist DESTINATION bin) - SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\bin\\\\${vcredist_name}\\\"'") + get_filename_component(vcredist_name "${MSVC_REDIST}" NAME) + install(PROGRAMS ${MSVC_REDIST} COMPONENT msvc_redist DESTINATION bin) + set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\bin\\\\${vcredist_name}\\\"'") message(STATUS "MSVC_REDIST: ${MSVC_REDIST}") - ENDIF(MSVC${VCVERS}0 OR MSVC${VCVERS}) -ENDIF () \ No newline at end of file + endif(MSVC${VCVERS}0 OR MSVC${VCVERS}) +endif () \ No newline at end of file diff --git a/scripts/cmake/cmake/FindMsysGit.cmake b/scripts/cmake/cmake/FindMsysGit.cmake index 2085ed046f8f363c9d4d254cb7ed06c038fdc88a..dc5c1b88e0a74b19251bd1e9f4f175479b8f357a 100644 --- a/scripts/cmake/cmake/FindMsysGit.cmake +++ b/scripts/cmake/cmake/FindMsysGit.cmake @@ -2,35 +2,35 @@ # MSYSGIT_BIN_DIR - path to the tool binaries # MSYSGIT_FOUND - true if the command line client was found # Example usage: -# FIND_PACKAGE(MsysGit) -# IF(MSYSGIT_FOUND) -# MESSAGE("msysGit tools found in: ${MSYSGIT_BIN_DIR}") -# ENDIF() +# find_package(MsysGit) +# if(MSYSGIT_FOUND) +# message("msysGit tools found in: ${MSYSGIT_BIN_DIR}") +# endif() if(GIT_EXECUTABLE) - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} --version + execute_process(COMMAND ${GIT_EXECUTABLE} --version OUTPUT_VARIABLE git_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - IF (git_version MATCHES "^git version [0-9]") - STRING(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}") - IF (git_version MATCHES "msysgit") - SET(GIT_IS_MSYSGIT TRUE) - ELSE() - SET(GIT_IS_MSYSGIT FALSE) - ENDIF() - ENDIF() - UNSET(git_version) -ENDIF(GIT_EXECUTABLE) + if (git_version MATCHES "^git version [0-9]") + string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}") + if (git_version MATCHES "msysgit") + set(GIT_IS_MSYSGIT TRUE) + else() + set(GIT_IS_MSYSGIT FALSE) + endif() + endif() + unset(git_version) +endif(GIT_EXECUTABLE) -IF(GIT_IS_MSYSGIT) - GET_FILENAME_COMPONENT(MSYS_DIR ${GIT_EXECUTABLE} PATH) - FIND_PATH(MSYSGIT_BIN_DIR +if(GIT_IS_MSYSGIT) + get_filename_component(MSYS_DIR ${GIT_EXECUTABLE} PATH) + find_path(MSYSGIT_BIN_DIR NAMES date.exe grep.exe unzip.exe git.exe PATHS ${MSYS_DIR}/../bin NO_DEFAULT_PATH) -ELSE() - FIND_PATH(MSYSGIT_BIN_DIR +else() + find_path(MSYSGIT_BIN_DIR NAMES date.exe grep.exe unzip.exe git.exe PATH_SUFFIXES Git/bin) -ENDIF() +endif() # Handle the QUIETLY and REQUIRED arguments and set MSYSGIT_FOUND to TRUE if # all listed variables are TRUE diff --git a/scripts/cmake/cmake/LibFindMacros.cmake b/scripts/cmake/cmake/LibFindMacros.cmake index 2195d141a59a060f47203a28b6171441bb5f7e97..f3d501a21077158c286fdbaacf547eb6e946d6a5 100644 --- a/scripts/cmake/cmake/LibFindMacros.cmake +++ b/scripts/cmake/cmake/LibFindMacros.cmake @@ -77,7 +77,7 @@ macro (libfind_process PREFIX) endif (NOT ${PREFIX}_FOUND) # Cache libraries variable - SET (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} CACHE STRING "${PREFIX} libraries") + set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} CACHE STRING "${PREFIX} libraries") endmacro (libfind_process) macro(libfind_library PREFIX basename) diff --git a/scripts/cmake/cmake/ListAllCMakeVariableValues.cmake b/scripts/cmake/cmake/ListAllCMakeVariableValues.cmake index e39367ca8b1a0abbc9cda9aa338fb974e587b93a..9e3c66765c36d7a23acc2af2104dba212995a013 100644 --- a/scripts/cmake/cmake/ListAllCMakeVariableValues.cmake +++ b/scripts/cmake/cmake/ListAllCMakeVariableValues.cmake @@ -2,7 +2,7 @@ # # Usage: # -# INCLUDE(ListAllCMakeVariableValues) +# include(ListAllCMakeVariableValues) # list_all_cmake_variable_values() function(list_all_cmake_variable_values) diff --git a/scripts/cmake/cmake/PrintVariables.cmake b/scripts/cmake/cmake/PrintVariables.cmake index b267e9c3d74511d0e3da84edc08888c5f8f71838..38b8ec95555cd3a30461335b88c8250427d57c1e 100644 --- a/scripts/cmake/cmake/PrintVariables.cmake +++ b/scripts/cmake/cmake/PrintVariables.cmake @@ -5,148 +5,148 @@ # if you are building in-source, this is the same as CMAKE_SOURCE_DIR, otherwise # this is the top level directory of your build tree -MESSAGE( STATUS "CMAKE_BINARY_DIR: " ${CMAKE_BINARY_DIR} ) +message( STATUS "CMAKE_BINARY_DIR: " ${CMAKE_BINARY_DIR} ) # if you are building in-source, this is the same as CMAKE_CURRENT_SOURCE_DIR, otherwise this # is the directory where the compiled or generated files from the current CMakeLists.txt will go to -MESSAGE( STATUS "CMAKE_CURRENT_BINARY_DIR: " ${CMAKE_CURRENT_BINARY_DIR} ) +message( STATUS "CMAKE_CURRENT_BINARY_DIR: " ${CMAKE_CURRENT_BINARY_DIR} ) # this is the directory, from which cmake was started, i.e. the top level source directory -MESSAGE( STATUS "CMAKE_SOURCE_DIR: " ${CMAKE_SOURCE_DIR} ) +message( STATUS "CMAKE_SOURCE_DIR: " ${CMAKE_SOURCE_DIR} ) # this is the directory where the currently processed CMakeLists.txt is located in -MESSAGE( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} ) +message( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} ) # contains the full path to the top level directory of your build tree -MESSAGE( STATUS "PROJECT_BINARY_DIR: " ${PROJECT_BINARY_DIR} ) +message( STATUS "PROJECT_BINARY_DIR: " ${PROJECT_BINARY_DIR} ) # contains the full path to the root of your project source directory, -# i.e. to the nearest directory where CMakeLists.txt contains the PROJECT() command -MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} ) +# i.e. to the nearest directory where CMakeLists.txt contains the project() command +message( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} ) # set this variable to specify a common place where CMake should put all executable files # (instead of CMAKE_CURRENT_BINARY_DIR) -MESSAGE( STATUS "EXECUTABLE_OUTPUT_PATH: " ${EXECUTABLE_OUTPUT_PATH} ) +message( STATUS "EXECUTABLE_OUTPUT_PATH: " ${EXECUTABLE_OUTPUT_PATH} ) # set this variable to specify a common place where CMake should put all libraries # (instead of CMAKE_CURRENT_BINARY_DIR) -MESSAGE( STATUS "LIBRARY_OUTPUT_PATH: " ${LIBRARY_OUTPUT_PATH} ) +message( STATUS "LIBRARY_OUTPUT_PATH: " ${LIBRARY_OUTPUT_PATH} ) # tell CMake to search first in directories listed in CMAKE_MODULE_PATH -# when you use FIND_PACKAGE() or INCLUDE() -MESSAGE( STATUS "CMAKE_MODULE_PATH: " ${CMAKE_MODULE_PATH} ) +# when you use find_package() or include() +message( STATUS "CMAKE_MODULE_PATH: " ${CMAKE_MODULE_PATH} ) # this is the complete path of the cmake which runs currently (e.g. /usr/local/bin/cmake) -MESSAGE( STATUS "CMAKE_COMMAND: " ${CMAKE_COMMAND} ) +message( STATUS "CMAKE_COMMAND: " ${CMAKE_COMMAND} ) # this is the CMake installation directory -MESSAGE( STATUS "CMAKE_ROOT: " ${CMAKE_ROOT} ) +message( STATUS "CMAKE_ROOT: " ${CMAKE_ROOT} ) # this is the filename including the complete path of the file where this variable is used. -MESSAGE( STATUS "CMAKE_CURRENT_LIST_FILE: " ${CMAKE_CURRENT_LIST_FILE} ) +message( STATUS "CMAKE_CURRENT_LIST_FILE: " ${CMAKE_CURRENT_LIST_FILE} ) # this is linenumber where the variable is used -MESSAGE( STATUS "CMAKE_CURRENT_LIST_LINE: " ${CMAKE_CURRENT_LIST_LINE} ) +message( STATUS "CMAKE_CURRENT_LIST_LINE: " ${CMAKE_CURRENT_LIST_LINE} ) -# this is used when searching for include files e.g. using the FIND_PATH() command. -MESSAGE( STATUS "CMAKE_INCLUDE_PATH: " ${CMAKE_INCLUDE_PATH} ) +# this is used when searching for include files e.g. using the find_path() command. +message( STATUS "CMAKE_INCLUDE_PATH: " ${CMAKE_INCLUDE_PATH} ) -# this is used when searching for libraries e.g. using the FIND_LIBRARY() command. -MESSAGE( STATUS "CMAKE_LIBRARY_PATH: " ${CMAKE_LIBRARY_PATH} ) +# this is used when searching for libraries e.g. using the find_library() command. +message( STATUS "CMAKE_LIBRARY_PATH: " ${CMAKE_LIBRARY_PATH} ) # the complete system name, e.g. "Linux-2.4.22", "FreeBSD-5.4-RELEASE" or "Windows 5.1" -MESSAGE( STATUS "CMAKE_SYSTEM: " ${CMAKE_SYSTEM} ) +message( STATUS "CMAKE_SYSTEM: " ${CMAKE_SYSTEM} ) # the short system name, e.g. "Linux", "FreeBSD" or "Windows" -MESSAGE( STATUS "CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME} ) +message( STATUS "CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME} ) # only the version part of CMAKE_SYSTEM -MESSAGE( STATUS "CMAKE_SYSTEM_VERSION: " ${CMAKE_SYSTEM_VERSION} ) +message( STATUS "CMAKE_SYSTEM_VERSION: " ${CMAKE_SYSTEM_VERSION} ) # the processor name (e.g. "Intel(R) Pentium(R) M processor 2.00GHz") -MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} ) +message( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} ) # is TRUE on all UNIX-like OS's, including Apple OS X and CygWin -MESSAGE( STATUS "UNIX: " ${UNIX} ) +message( STATUS "UNIX: " ${UNIX} ) # is TRUE on Windows, including CygWin -MESSAGE( STATUS "WIN32: " ${WIN32} ) +message( STATUS "WIN32: " ${WIN32} ) # is TRUE on Apple OS X -MESSAGE( STATUS "APPLE: " ${APPLE} ) +message( STATUS "APPLE: " ${APPLE} ) # is TRUE when using the MinGW compiler in Windows -MESSAGE( STATUS "MINGW: " ${MINGW} ) +message( STATUS "MINGW: " ${MINGW} ) # is TRUE on Windows when using the CygWin version of cmake -MESSAGE( STATUS "CYGWIN: " ${CYGWIN} ) +message( STATUS "CYGWIN: " ${CYGWIN} ) # is TRUE on Windows when using a Borland compiler -MESSAGE( STATUS "BORLAND: " ${BORLAND} ) +message( STATUS "BORLAND: " ${BORLAND} ) # Microsoft compiler -MESSAGE( STATUS "MSVC: " ${MSVC} ) -MESSAGE( STATUS "MSVC_IDE: " ${MSVC_IDE} ) -MESSAGE( STATUS "MSVC60: " ${MSVC60} ) -MESSAGE( STATUS "MSVC70: " ${MSVC70} ) -MESSAGE( STATUS "MSVC71: " ${MSVC71} ) -MESSAGE( STATUS "MSVC80: " ${MSVC80} ) -MESSAGE( STATUS "CMAKE_COMPILER_2005: " ${CMAKE_COMPILER_2005} ) +message( STATUS "MSVC: " ${MSVC} ) +message( STATUS "MSVC_IDE: " ${MSVC_IDE} ) +message( STATUS "MSVC60: " ${MSVC60} ) +message( STATUS "MSVC70: " ${MSVC70} ) +message( STATUS "MSVC71: " ${MSVC71} ) +message( STATUS "MSVC80: " ${MSVC80} ) +message( STATUS "CMAKE_COMPILER_2005: " ${CMAKE_COMPILER_2005} ) # set this to true if you don't want to rebuild the object files if the rules have changed, # but not the actual source files or headers (e.g. if you changed the some compiler switches) -MESSAGE( STATUS "CMAKE_SKIP_RULE_DEPENDENCY: " ${CMAKE_SKIP_RULE_DEPENDENCY} ) +message( STATUS "CMAKE_SKIP_RULE_DEPENDENCY: " ${CMAKE_SKIP_RULE_DEPENDENCY} ) # since CMake 2.1 the install rule depends on all, i.e. everything will be built before installing. # If you don't like this, set this one to true. -MESSAGE( STATUS "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY: " ${CMAKE_SKIP_INSTALL_ALL_DEPENDENCY} ) +message( STATUS "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY: " ${CMAKE_SKIP_INSTALL_ALL_DEPENDENCY} ) # If set, runtime paths are not added when using shared libraries. Default it is set to OFF -MESSAGE( STATUS "CMAKE_SKIP_RPATH: " ${CMAKE_SKIP_RPATH} ) +message( STATUS "CMAKE_SKIP_RPATH: " ${CMAKE_SKIP_RPATH} ) # set this to true if you are using makefiles and want to see the full compile and link # commands instead of only the shortened ones -MESSAGE( STATUS "CMAKE_VERBOSE_MAKEFILE: " ${CMAKE_VERBOSE_MAKEFILE} ) +message( STATUS "CMAKE_VERBOSE_MAKEFILE: " ${CMAKE_VERBOSE_MAKEFILE} ) # this will cause CMake to not put in the rules that re-run CMake. This might be useful if # you want to use the generated build files on another machine. -MESSAGE( STATUS "CMAKE_SUPPRESS_REGENERATION: " ${CMAKE_SUPPRESS_REGENERATION} ) +message( STATUS "CMAKE_SUPPRESS_REGENERATION: " ${CMAKE_SUPPRESS_REGENERATION} ) -# A simple way to get switches to the compiler is to use ADD_DEFINITIONS(). +# A simple way to get switches to the compiler is to use add_definitions(). # But there are also two variables exactly for this purpose: # the compiler flags for compiling C sources -MESSAGE( STATUS "CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS} ) +message( STATUS "CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS} ) # the compiler flags for compiling C++ sources -MESSAGE( STATUS "CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS} ) +message( STATUS "CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS} ) -# Choose the type of build. Example: SET(CMAKE_BUILD_TYPE Debug) -MESSAGE( STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} ) +# Choose the type of build. Example: set(CMAKE_BUILD_TYPE Debug) +message( STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} ) # if this is set to ON, then all libraries are built as shared libraries by default. -MESSAGE( STATUS "BUILD_SHARED_LIBS: " ${BUILD_SHARED_LIBS} ) +message( STATUS "BUILD_SHARED_LIBS: " ${BUILD_SHARED_LIBS} ) # the compiler used for C files -MESSAGE( STATUS "CMAKE_C_COMPILER: " ${CMAKE_C_COMPILER} ) +message( STATUS "CMAKE_C_COMPILER: " ${CMAKE_C_COMPILER} ) # the compiler used for C++ files -MESSAGE( STATUS "CMAKE_CXX_COMPILER: " ${CMAKE_CXX_COMPILER} ) +message( STATUS "CMAKE_CXX_COMPILER: " ${CMAKE_CXX_COMPILER} ) # if the compiler is a variant of gcc, this should be set to 1 -MESSAGE( STATUS "CMAKE_COMPILER_IS_GNUCC: " ${CMAKE_COMPILER_IS_GNUCC} ) +message( STATUS "CMAKE_COMPILER_IS_GNUCC: " ${CMAKE_COMPILER_IS_GNUCC} ) # if the compiler is a variant of g++, this should be set to 1 -MESSAGE( STATUS "CMAKE_COMPILER_IS_GNUCXX : " ${CMAKE_COMPILER_IS_GNUCXX} ) +message( STATUS "CMAKE_COMPILER_IS_GNUCXX : " ${CMAKE_COMPILER_IS_GNUCXX} ) # the tools for creating libraries -MESSAGE( STATUS "CMAKE_AR: " ${CMAKE_AR} ) -MESSAGE( STATUS "CMAKE_RANLIB: " ${CMAKE_RANLIB} ) +message( STATUS "CMAKE_AR: " ${CMAKE_AR} ) +message( STATUS "CMAKE_RANLIB: " ${CMAKE_RANLIB} ) # -#MESSAGE( STATUS ": " ${} ) +#message( STATUS ": " ${} ) # ------------------------- End of Generic CMake Variable Logging ------------------ diff --git a/scripts/cmake/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake b/scripts/cmake/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake index 9dbfb8023ec76f3fc34bcba9aa82a8ce29280530..61ec7d1110586e74ad5f54f64d20b6c61fb8ce3c 100644 --- a/scripts/cmake/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake +++ b/scripts/cmake/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake @@ -48,7 +48,7 @@ # libraries with a few exceptions (Boost.Python is one). # # Please see the section below near Boost_LIB_DIAGNOSTIC_DEFINITIONS for -# more details. Adding a TARGET_LINK_LIBRARIES() as shown in the example +# more details. Adding a target_link_libraries() as shown in the example # above appears to cause VS to link dynamically if Boost_USE_STATIC_LIBS # gets set to OFF. It is suggested you avoid automatic linking since it # will make your application less portable. @@ -72,7 +72,7 @@ # omit the 3rd version number from include paths if it is 0 although not all # binary Boost releases do so. # -# SET(Boost_ADDITIONAL_VERSIONS "1.78" "1.78.0" "1.79" "1.79.0") +# set(Boost_ADDITIONAL_VERSIONS "1.78" "1.78.0" "1.79" "1.79.0") # # ===================================== ============= ======================== # @@ -278,59 +278,59 @@ # And ELSE/ENDIF pairs were removed for readability. ######################################################################### -MACRO (_Boost_ADJUST_LIB_VARS basename) - IF (Boost_INCLUDE_DIR ) - IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE) +macro (_Boost_ADJUST_LIB_VARS basename) + if (Boost_INCLUDE_DIR ) + if (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE) # if the generator supports configuration types then set # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value - IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) - SET(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) - ELSE() + if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) + set(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) + else() # if there are no configuration types and CMAKE_BUILD_TYPE has no value # then just use the release libraries - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} ) - ENDIF() + set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} ) + endif() # FIXME: This probably should be set for both cases - SET(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) - ENDIF() + set(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) + endif() # if only the release version was found, set the debug variable also to the release version - IF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG) - SET(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE}) - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE}) - SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE}) - ENDIF() + if (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG) + set(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE}) + set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE}) + set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE}) + endif() # if only the debug version was found, set the release variable also to the debug version - IF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE) - SET(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG}) - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG}) - SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG}) - ENDIF() + if (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE) + set(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG}) + set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG}) + set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG}) + endif() - IF (Boost_${basename}_LIBRARY) + if (Boost_${basename}_LIBRARY) set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library") # Remove superfluous "debug" / "optimized" keywords from # Boost_LIBRARY_DIRS - FOREACH(_boost_my_lib ${Boost_${basename}_LIBRARY}) - GET_FILENAME_COMPONENT(_boost_my_lib_path "${_boost_my_lib}" PATH) - LIST(APPEND Boost_LIBRARY_DIRS ${_boost_my_lib_path}) - ENDFOREACH() - LIST(REMOVE_DUPLICATES Boost_LIBRARY_DIRS) + foreach(_boost_my_lib ${Boost_${basename}_LIBRARY}) + get_filename_component(_boost_my_lib_path "${_boost_my_lib}" PATH) + list(APPEND Boost_LIBRARY_DIRS ${_boost_my_lib_path}) + endforeach() + list(REMOVE_DUPLICATES Boost_LIBRARY_DIRS) set(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory") - SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found") - ENDIF(Boost_${basename}_LIBRARY) + set(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found") + endif(Boost_${basename}_LIBRARY) - ENDIF (Boost_INCLUDE_DIR ) + endif (Boost_INCLUDE_DIR ) # Make variables changeble to the advanced user - MARK_AS_ADVANCED( + mark_as_advanced( Boost_${basename}_LIBRARY Boost_${basename}_LIBRARY_RELEASE Boost_${basename}_LIBRARY_DEBUG ) -ENDMACRO (_Boost_ADJUST_LIB_VARS) +endmacro (_Boost_ADJUST_LIB_VARS) #------------------------------------------------------------------------------- @@ -338,17 +338,17 @@ ENDMACRO (_Boost_ADJUST_LIB_VARS) # Runs compiler with "-dumpversion" and parses major/minor # version with a regex. # -FUNCTION(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION) +function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION) - EXEC_PROGRAM(${CMAKE_CXX_COMPILER} + exec_program(${CMAKE_CXX_COMPILER} ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion OUTPUT_VARIABLE _boost_COMPILER_VERSION ) - STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" + string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION}) - SET(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE) -ENDFUNCTION() + set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE) +endfunction() # # A convenience function for marking desired components @@ -391,9 +391,9 @@ endfunction() -IF(NOT DEFINED Boost_USE_MULTITHREADED) - SET(Boost_USE_MULTITHREADED TRUE) -ENDIF() +if(NOT DEFINED Boost_USE_MULTITHREADED) + set(Boost_USE_MULTITHREADED TRUE) +endif() if(Boost_FIND_VERSION_EXACT) # The version may appear in a directory with or without the patch @@ -434,8 +434,8 @@ endif(Boost_FIND_VERSION_EXACT) # Boost. set(Boost_ERROR_REASON) -SET( _boost_IN_CACHE TRUE) -IF(Boost_INCLUDE_DIR) +set( _boost_IN_CACHE TRUE) +if(Boost_INCLUDE_DIR) # On versions < 1.35, remove the System library from the considered list # since it wasn't added until 1.35. @@ -445,36 +445,36 @@ IF(Boost_INCLUDE_DIR) endif() endif() - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} COMPONENT) - IF(NOT Boost_${COMPONENT}_FOUND) - SET( _boost_IN_CACHE FALSE) - ENDIF(NOT Boost_${COMPONENT}_FOUND) - ENDFOREACH(COMPONENT) -ELSE(Boost_INCLUDE_DIR) - SET( _boost_IN_CACHE FALSE) -ENDIF(Boost_INCLUDE_DIR) - -IF (_boost_IN_CACHE) + foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + string(TOUPPER ${COMPONENT} COMPONENT) + if(NOT Boost_${COMPONENT}_FOUND) + set( _boost_IN_CACHE FALSE) + endif(NOT Boost_${COMPONENT}_FOUND) + endforeach(COMPONENT) +else(Boost_INCLUDE_DIR) + set( _boost_IN_CACHE FALSE) +endif(Boost_INCLUDE_DIR) + +if (_boost_IN_CACHE) # in cache already - SET(Boost_FOUND TRUE) - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} COMPONENT) + set(Boost_FOUND TRUE) + foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + string(TOUPPER ${COMPONENT} COMPONENT) _Boost_ADJUST_LIB_VARS( ${COMPONENT} ) - SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${COMPONENT}_LIBRARY}) - ENDFOREACH(COMPONENT) - SET(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR}) - IF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0") - MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") - MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000") - MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100") - ENDIF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0") + set(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${COMPONENT}_LIBRARY}) + endforeach(COMPONENT) + set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR}) + if(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0") + math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") + math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000") + math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100") + endif(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0") if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " "boost ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION} " "is already in the cache. To view debugging messages, please clear the cache.") endif() -ELSE (_boost_IN_CACHE) +else (_boost_IN_CACHE) # Need to search for boost if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " @@ -494,7 +494,7 @@ ELSE (_boost_IN_CACHE) "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}") endif() - IF(WIN32) + if(WIN32) # In windows, automatic linking is performed, so you do not have # to specify the libraries. If you are linking to a dynamic # runtime, then you can choose to link to either a static or a @@ -512,9 +512,9 @@ ELSE (_boost_IN_CACHE) # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking # code to emit a #pragma message each time a library is selected # for linking. - SET(Boost_LIB_DIAGNOSTIC_DEFINITIONS + set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define") - ENDIF(WIN32) + endif(WIN32) set(_boost_INCLUDE_SEARCH_DIRS_SYSTEM C:/boost/include @@ -542,18 +542,18 @@ ELSE (_boost_IN_CACHE) endif(NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "") # If BOOST_INCLUDEDIR was defined in the environment, use it. - IF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" ) + if( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" ) set(BOOST_INCLUDEDIR $ENV{BOOST_INCLUDEDIR}) - ENDIF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" ) + endif( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" ) # If BOOST_LIBRARYDIR was defined in the environment, use it. - IF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" ) + if( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" ) set(BOOST_LIBRARYDIR $ENV{BOOST_LIBRARYDIR}) - ENDIF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" ) + endif( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" ) - IF( BOOST_ROOT ) + if( BOOST_ROOT ) file(TO_CMAKE_PATH ${BOOST_ROOT} BOOST_ROOT) - ENDIF( BOOST_ROOT ) + endif( BOOST_ROOT ) if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " @@ -593,28 +593,28 @@ ELSE (_boost_IN_CACHE) # ------------------------------------------------------------------------ # Try to find Boost by stepping backwards through the Boost versions # we know about. - IF( NOT Boost_INCLUDE_DIR ) + if( NOT Boost_INCLUDE_DIR ) # Build a list of path suffixes for each version. - SET(_boost_PATH_SUFFIXES) - FOREACH(_boost_VER ${_boost_TEST_VERSIONS}) + set(_boost_PATH_SUFFIXES) + foreach(_boost_VER ${_boost_TEST_VERSIONS}) # Add in a path suffix, based on the required version, ideally # we could read this from version.hpp, but for that to work we'd # need to know the include dir already set(_boost_BOOSTIFIED_VERSION) # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0 - IF(_boost_VER MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+") - STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" + if(_boost_VER MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+") + string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" _boost_BOOSTIFIED_VERSION ${_boost_VER}) - ELSEIF(_boost_VER MATCHES "[0-9]+\\.[0-9]+") - STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2" + elseif(_boost_VER MATCHES "[0-9]+\\.[0-9]+") + string(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2" _boost_BOOSTIFIED_VERSION ${_boost_VER}) - ENDIF() + endif() list(APPEND _boost_PATH_SUFFIXES "boost-${_boost_BOOSTIFIED_VERSION}") list(APPEND _boost_PATH_SUFFIXES "boost_${_boost_BOOSTIFIED_VERSION}") - ENDFOREACH(_boost_VER) + endforeach(_boost_VER) if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " @@ -626,62 +626,62 @@ ELSE (_boost_IN_CACHE) endif() # Look for a standard boost header file. - FIND_PATH(Boost_INCLUDE_DIR + find_path(Boost_INCLUDE_DIR NAMES boost/config.hpp HINTS ${_boost_INCLUDE_SEARCH_DIRS} PATH_SUFFIXES ${_boost_PATH_SUFFIXES} ${_boost_FIND_OPTIONS} ) - ENDIF( NOT Boost_INCLUDE_DIR ) + endif( NOT Boost_INCLUDE_DIR ) # ------------------------------------------------------------------------ # Extract version information from version.hpp # ------------------------------------------------------------------------ - IF(Boost_INCLUDE_DIR) + if(Boost_INCLUDE_DIR) # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp # Read the whole file: # - SET(BOOST_VERSION 0) - SET(BOOST_LIB_VERSION "") - FILE(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS) + set(BOOST_VERSION 0) + set(BOOST_LIB_VERSION "") + file(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS) if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp") endif() - STRING(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}") - STRING(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}") + string(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}") + string(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}") - SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE INTERNAL "The library version string for boost libraries") - SET(Boost_VERSION ${Boost_VERSION} CACHE INTERNAL "The version number for boost libraries") + set(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE INTERNAL "The library version string for boost libraries") + set(Boost_VERSION ${Boost_VERSION} CACHE INTERNAL "The version number for boost libraries") - IF(NOT "${Boost_VERSION}" STREQUAL "0") - MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") - MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000") - MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100") + if(NOT "${Boost_VERSION}" STREQUAL "0") + math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") + math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000") + math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100") set(Boost_ERROR_REASON "${Boost_ERROR_REASON}Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}") - ENDIF(NOT "${Boost_VERSION}" STREQUAL "0") + endif(NOT "${Boost_VERSION}" STREQUAL "0") if(Boost_DEBUG) message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " "version.hpp reveals boost " "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") endif() - ELSE(Boost_INCLUDE_DIR) + else(Boost_INCLUDE_DIR) set(Boost_ERROR_REASON "${Boost_ERROR_REASON}Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.") - ENDIF(Boost_INCLUDE_DIR) + endif(Boost_INCLUDE_DIR) # ------------------------------------------------------------------------ # Suffix initialization and compiler suffix detection. # ------------------------------------------------------------------------ # Setting some more suffixes for the library - SET (Boost_LIB_PREFIX "") + set (Boost_LIB_PREFIX "") if ( WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN) - SET (Boost_LIB_PREFIX "lib") + set (Boost_LIB_PREFIX "lib") endif() if (Boost_COMPILER) @@ -704,54 +704,54 @@ ELSE (_boost_IN_CACHE) set (_boost_COMPILER "-il") endif() elseif (MSVC90) - SET (_boost_COMPILER "-vc90") + set (_boost_COMPILER "-vc90") elseif (MSVC10) - SET (_boost_COMPILER "-vc100") + set (_boost_COMPILER "-vc100") elseif (MSVC80) - SET (_boost_COMPILER "-vc80") + set (_boost_COMPILER "-vc80") elseif (MSVC71) - SET (_boost_COMPILER "-vc71") + set (_boost_COMPILER "-vc71") elseif (MSVC70) # Good luck! - SET (_boost_COMPILER "-vc7") # yes, this is correct + set (_boost_COMPILER "-vc7") # yes, this is correct elseif (MSVC60) # Good luck! - SET (_boost_COMPILER "-vc6") # yes, this is correct + set (_boost_COMPILER "-vc6") # yes, this is correct elseif (BORLAND) - SET (_boost_COMPILER "-bcb") + set (_boost_COMPILER "-bcb") elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "SunPro") set(_boost_COMPILER "-sw") elseif (MINGW) if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34) - SET(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34 + set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34 else() _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION) - SET (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}") + set (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}") endif() elseif (UNIX) if (CMAKE_COMPILER_IS_GNUCXX) if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34) - SET(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34 + set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34 else() _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION) # Determine which version of GCC we have. - IF(APPLE) - IF(Boost_MINOR_VERSION) - IF(${Boost_MINOR_VERSION} GREATER 35) + if(APPLE) + if(Boost_MINOR_VERSION) + if(${Boost_MINOR_VERSION} GREATER 35) # In Boost 1.36.0 and newer, the mangled compiler name used # on Mac OS X/Darwin is "xgcc". - SET(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}") - ELSE(${Boost_MINOR_VERSION} GREATER 35) + set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}") + else(${Boost_MINOR_VERSION} GREATER 35) # In Boost <= 1.35.0, there is no mangled compiler name for # the Mac OS X/Darwin version of GCC. - SET(_boost_COMPILER "") - ENDIF(${Boost_MINOR_VERSION} GREATER 35) - ELSE(Boost_MINOR_VERSION) + set(_boost_COMPILER "") + endif(${Boost_MINOR_VERSION} GREATER 35) + else(Boost_MINOR_VERSION) # We don't know the Boost version, so assume it's # pre-1.36.0. - SET(_boost_COMPILER "") - ENDIF(Boost_MINOR_VERSION) - ELSE() - SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}") - ENDIF() + set(_boost_COMPILER "") + endif(Boost_MINOR_VERSION) + else() + set (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}") + endif() endif() endif (CMAKE_COMPILER_IS_GNUCXX) endif() @@ -984,13 +984,13 @@ ELSE (_boost_IN_CACHE) # End finding boost libraries # ------------------------------------------------------------------------ - SET(Boost_INCLUDE_DIRS + set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR} ) - SET(Boost_FOUND FALSE) - IF(Boost_INCLUDE_DIR) - SET( Boost_FOUND TRUE ) + set(Boost_FOUND FALSE) + if(Boost_INCLUDE_DIR) + set( Boost_FOUND TRUE ) # Check the version of Boost against the requested version. if (Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR) @@ -1091,60 +1091,60 @@ ELSE (_boost_IN_CACHE) endif (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS}) endif (_Boost_MISSING_COMPONENTS) - IF( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT ) + if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT ) # Compatibility Code for backwards compatibility with CMake # 2.4's FindBoost module. # Look for the boost library path. # Note that the user may not have installed any libraries # so it is quite possible the Boost_LIBRARY_PATH may not exist. - SET(_boost_LIB_DIR ${Boost_INCLUDE_DIR}) + set(_boost_LIB_DIR ${Boost_INCLUDE_DIR}) - IF("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+") - GET_FILENAME_COMPONENT(_boost_LIB_DIR ${_boost_LIB_DIR} PATH) - ENDIF ("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+") + if("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+") + get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH) + endif ("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+") - IF("${_boost_LIB_DIR}" MATCHES "/include$") + if("${_boost_LIB_DIR}" MATCHES "/include$") # Strip off the trailing "/include" in the path. - GET_FILENAME_COMPONENT(_boost_LIB_DIR ${_boost_LIB_DIR} PATH) - ENDIF("${_boost_LIB_DIR}" MATCHES "/include$") - - IF(EXISTS "${_boost_LIB_DIR}/lib") - SET (_boost_LIB_DIR ${_boost_LIB_DIR}/lib) - ELSE(EXISTS "${_boost_LIB_DIR}/lib") - IF(EXISTS "${_boost_LIB_DIR}/stage/lib") - SET(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib) - ELSE(EXISTS "${_boost_LIB_DIR}/stage/lib") - SET(_boost_LIB_DIR "") - ENDIF(EXISTS "${_boost_LIB_DIR}/stage/lib") - ENDIF(EXISTS "${_boost_LIB_DIR}/lib") - - IF(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}") - SET(Boost_LIBRARY_DIRS ${_boost_LIB_DIR} CACHE FILEPATH "Boost library directory") - ENDIF(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}") - - ENDIF( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT ) - - ELSE(Boost_INCLUDE_DIR) - SET( Boost_FOUND FALSE) - ENDIF(Boost_INCLUDE_DIR) - - IF (Boost_FOUND) - IF (NOT Boost_FIND_QUIETLY) - MESSAGE(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH) + endif("${_boost_LIB_DIR}" MATCHES "/include$") + + if(EXISTS "${_boost_LIB_DIR}/lib") + set (_boost_LIB_DIR ${_boost_LIB_DIR}/lib) + else(EXISTS "${_boost_LIB_DIR}/lib") + if(EXISTS "${_boost_LIB_DIR}/stage/lib") + set(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib) + else(EXISTS "${_boost_LIB_DIR}/stage/lib") + set(_boost_LIB_DIR "") + endif(EXISTS "${_boost_LIB_DIR}/stage/lib") + endif(EXISTS "${_boost_LIB_DIR}/lib") + + if(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}") + set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR} CACHE FILEPATH "Boost library directory") + endif(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}") + + endif( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT ) + + else(Boost_INCLUDE_DIR) + set( Boost_FOUND FALSE) + endif(Boost_INCLUDE_DIR) + + if (Boost_FOUND) + if (NOT Boost_FIND_QUIETLY) + message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") if(Boost_FIND_COMPONENTS) message(STATUS "Found the following Boost libraries:") endif() - ENDIF(NOT Boost_FIND_QUIETLY) - FOREACH ( COMPONENT ${Boost_FIND_COMPONENTS} ) - STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT ) - IF ( Boost_${UPPERCOMPONENT}_FOUND ) - IF (NOT Boost_FIND_QUIETLY) - MESSAGE (STATUS " ${COMPONENT}") - ENDIF(NOT Boost_FIND_QUIETLY) - SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY}) - ENDIF ( Boost_${UPPERCOMPONENT}_FOUND ) - ENDFOREACH(COMPONENT) + endif(NOT Boost_FIND_QUIETLY) + foreach ( COMPONENT ${Boost_FIND_COMPONENTS} ) + string( TOUPPER ${COMPONENT} UPPERCOMPONENT ) + if ( Boost_${UPPERCOMPONENT}_FOUND ) + if (NOT Boost_FIND_QUIETLY) + message (STATUS " ${COMPONENT}") + endif(NOT Boost_FIND_QUIETLY) + set(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY}) + endif ( Boost_${UPPERCOMPONENT}_FOUND ) + endforeach(COMPONENT) else() if(Boost_FIND_REQUIRED) message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}") @@ -1164,8 +1164,8 @@ ELSE (_boost_IN_CACHE) endif() # show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the advanced view - MARK_AS_ADVANCED(Boost_INCLUDE_DIR + mark_as_advanced(Boost_INCLUDE_DIR Boost_INCLUDE_DIRS Boost_LIBRARY_DIRS ) -ENDIF(_boost_IN_CACHE) +endif(_boost_IN_CACHE) diff --git a/scripts/cmake/findPETSC/CorrectWindowsPaths.cmake b/scripts/cmake/findPETSC/CorrectWindowsPaths.cmake index 5058282e74afcc55eeab22fe3d73f0d46c90869e..ab17bb28bc3ee0e009b67fbb88a80e7dd9a8dbf3 100644 --- a/scripts/cmake/findPETSC/CorrectWindowsPaths.cmake +++ b/scripts/cmake/findPETSC/CorrectWindowsPaths.cmake @@ -6,7 +6,7 @@ macro (CONVERT_CYGWIN_PATH _path) if (WIN32) - EXECUTE_PROCESS(COMMAND cygpath.exe -m ${${_path}} + execute_process(COMMAND cygpath.exe -m ${${_path}} OUTPUT_VARIABLE ${_path}) string (STRIP ${${_path}} ${_path}) endif (WIN32) diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index cbed03c0b3853b0904caae5eb2e42fe01b128fe8..df9ec969949feef5064d5919db68973f5c71ab84 100644 --- a/scripts/cmake/packaging/Pack.cmake +++ b/scripts/cmake/packaging/Pack.cmake @@ -1,37 +1,37 @@ -INCLUDE(packaging/PackagingMacros) +include(packaging/PackagingMacros) #### Packaging setup #### -SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OGS-6 THM/C Simulator") -SET(CPACK_PACKAGE_VENDOR "OpenGeoSys Community (http://www.opengeosys.org)") -SET(CPACK_PACKAGE_INSTALL_DIRECTORY "OGS-${OGS_VERSION_MAJOR}.${OGS_VERSION_MINOR}.${OGS_VERSION_PATCH}") -SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") -SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") -SET(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") -# SET(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/README.md") -SET(CPACK_PACKAGE_VERSION_MAJOR "${OGS_VERSION_MAJOR}") -SET(CPACK_PACKAGE_VERSION_MINOR "${OGS_VERSION_MINOR}") -SET(CPACK_PACKAGE_VERSION_PATCH "${OGS_VERSION_PATCH}") -IF(APPLE) - SET(CPACK_PACKAGE_FILE_NAME "ogs-${GIT_DESCRIBE}-OSX-${OSX_VERSION}-x${BITS}") - SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}) -ELSE() - SET(CPACK_PACKAGE_FILE_NAME "ogs-${GIT_DESCRIBE}-${CMAKE_SYSTEM}-x${BITS}") -ENDIF() +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OGS-6 THM/C Simulator") +set(CPACK_PACKAGE_VENDOR "OpenGeoSys Community (http://www.opengeosys.org)") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "OGS-${OGS_VERSION_MAJOR}.${OGS_VERSION_MINOR}.${OGS_VERSION_PATCH}") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") +set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") +# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/README.md") +set(CPACK_PACKAGE_VERSION_MAJOR "${OGS_VERSION_MAJOR}") +set(CPACK_PACKAGE_VERSION_MINOR "${OGS_VERSION_MINOR}") +set(CPACK_PACKAGE_VERSION_PATCH "${OGS_VERSION_PATCH}") +if(APPLE) + set(CPACK_PACKAGE_FILE_NAME "ogs-${GIT_DESCRIBE}-OSX-${OSX_VERSION}-x${BITS}") + set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}) +else() + set(CPACK_PACKAGE_FILE_NAME "ogs-${GIT_DESCRIBE}-${CMAKE_SYSTEM}-x${BITS}") +endif() -#SET(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1) +#set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1) -IF (WIN32) - INCLUDE (packaging/PackagingWin) -ENDIF() -IF(UNIX) - INCLUDE (packaging/PackagingLinux) -ENDIF() -IF(APPLE) - INCLUDE (packaging/PackagingMac) -ENDIF() +if (WIN32) + include (packaging/PackagingWin) +endif() +if(UNIX) + include (packaging/PackagingLinux) +endif() +if(APPLE) + include (packaging/PackagingMac) +endif() # Download additional content -IF(OGS_DOWNLOAD_ADDITIONAL_CONTENT) +if(OGS_DOWNLOAD_ADDITIONAL_CONTENT) DownloadAdditionalFilesForPackaging( URLS http://docs.opengeosys.org/assets/releases/head/docs/DataExplorer-Manual.pdf http://docs.opengeosys.org/assets/releases/head/docs/User-Manual.pdf @@ -40,25 +40,25 @@ IF(OGS_DOWNLOAD_ADDITIONAL_CONTENT) PACKAGE_GROUP ogs_docs ) - IF(WIN32) + if(WIN32) DownloadAdditionalFilesForPackaging( URLS http://docs.opengeosys.org/assets/releases/head/win/OGSFileConverter.exe DESTINATION bin EXECUTABLE TRUE PACKAGE_GROUP ogs_converter ) - ENDIF() - IF(APPLE) + endif() + if(APPLE) DownloadAdditionalFilesForPackaging( URLS http://docs.opengeosys.org/assets/releases/head/mac/OGSFileConverter DESTINATION bin EXECUTABLE TRUE PACKAGE_GROUP ogs_converter ) - ENDIF() -ENDIF() + endif() +endif() -INCLUDE (CPack) +include (CPack) cpack_add_component_group(Applications DISPLAY_NAME Applications diff --git a/scripts/cmake/packaging/PackagingLinux.cmake b/scripts/cmake/packaging/PackagingLinux.cmake index e9be72d60b7dea233782905365eb960551eb9480..85533cd68c476f3c702ccefd1a46232970911ada 100644 --- a/scripts/cmake/packaging/PackagingLinux.cmake +++ b/scripts/cmake/packaging/PackagingLinux.cmake @@ -1 +1 @@ -SET(CPACK_GENERATOR TGZ) +set(CPACK_GENERATOR TGZ) diff --git a/scripts/cmake/packaging/PackagingMac.cmake b/scripts/cmake/packaging/PackagingMac.cmake index 550da01b9e1e0f0834751de638e2b29ff9cc9f1e..e7563e63eed3d922b9a4b4b491d5f4b24e46cbf8 100644 --- a/scripts/cmake/packaging/PackagingMac.cmake +++ b/scripts/cmake/packaging/PackagingMac.cmake @@ -1,6 +1,6 @@ -SET(CPACK_GENERATOR DragNDrop ZIP) -SET(CPACK_DMG_FORMAT "UDBZ") +set(CPACK_GENERATOR DragNDrop ZIP) +set(CPACK_DMG_FORMAT "UDBZ") # See http://stackoverflow.com/a/16662169/80480 how to create the DS_Store file. -SET(CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.png) -SET(CPACK_DMG_DS_STORE ${CMAKE_SOURCE_DIR}/scripts/packaging/.DS_Store) +set(CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.png) +set(CPACK_DMG_DS_STORE ${CMAKE_SOURCE_DIR}/scripts/packaging/.DS_Store) diff --git a/scripts/cmake/packaging/PackagingMacros.cmake b/scripts/cmake/packaging/PackagingMacros.cmake index be5c08183066a87a1202febd88b6d2eaddb89857..9de0cb06a218e224ecd36b0339c5bbeef6808888 100644 --- a/scripts/cmake/packaging/PackagingMacros.cmake +++ b/scripts/cmake/packaging/PackagingMacros.cmake @@ -14,7 +14,7 @@ macro(ConfigureMacOSXBundle TARGET_NAME ICON_FILE_PATH) MACOSX_BUNDLE_COPYRIGHT "Copyright (c) 2012-2015, OpenGeoSys Community. All Rights Reserved." ) - SET_SOURCE_FILES_PROPERTIES(${ICON_FILE_PATH} PROPERTIES + set_source_files_properties(${ICON_FILE_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) endmacro() diff --git a/scripts/cmake/packaging/PackagingWin.cmake b/scripts/cmake/packaging/PackagingWin.cmake index 695d5a2115a09e4535c9cf8a48117a00978214fd..26894f30b89745711772a27f5c063ab69518bedb 100644 --- a/scripts/cmake/packaging/PackagingWin.cmake +++ b/scripts/cmake/packaging/PackagingWin.cmake @@ -1,20 +1,20 @@ -SET(CMAKE_INSTALL_OPENMP_LIBRARIES ON) -INCLUDE(InstallRequiredSystemLibraries) -SET(CPACK_GENERATOR NSIS ZIP) -SET(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.ico) -FILE(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.bmp" BACKGROUND_IMAGE) -SET(CPACK_PACKAGE_ICON ${BACKGROUND_IMAGE}) -SET(CPACK_NSIS_INSTALLED_ICON_NAME ${CPACK_NSIS_MUI_ICON}) -SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") -SET(CPACK_NSIS_CONTACT "info@opengeosys.org") -SET(CPACK_NSIS_MODIFY_PATH OFF) -SET(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) -SET(CPACK_NSIS_HELP_LINK "http://docs.opengeosys.org/assets/files/Documentation/User_Manual.pdf") -SET(CPACK_NSIS_MENU_LINKS +set(CMAKE_INSTALL_OPENMP_LIBRARIES ON) +include(InstallRequiredSystemLibraries) +set(CPACK_GENERATOR NSIS ZIP) +set(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.ico) +file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.bmp" BACKGROUND_IMAGE) +set(CPACK_PACKAGE_ICON ${BACKGROUND_IMAGE}) +set(CPACK_NSIS_INSTALLED_ICON_NAME ${CPACK_NSIS_MUI_ICON}) +set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") +set(CPACK_NSIS_CONTACT "info@opengeosys.org") +set(CPACK_NSIS_MODIFY_PATH OFF) +set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) +set(CPACK_NSIS_HELP_LINK "http://docs.opengeosys.org/assets/files/Documentation/User_Manual.pdf") +set(CPACK_NSIS_MENU_LINKS "bin" "Executables folder" "http://www.opengeosys.org" "Website" "https://github.com/ufz/ogs" "Source code on GitHub" ) -IF(OGS_DOWNLOAD_ADDITIONAL_CONTENT) - SET(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "docs" "Documentation folder" PARENT_SCOPE) -ENDIF() +if(OGS_DOWNLOAD_ADDITIONAL_CONTENT) + set(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "docs" "Documentation folder" PARENT_SCOPE) +endif() diff --git a/scripts/cmake/test/AddTestTester.cmake b/scripts/cmake/test/AddTestTester.cmake index d0f30840c729dc02527880a4fb3a3f262366b081..c91e1380cad975d31e410fd5124cee0ad5d681d4 100644 --- a/scripts/cmake/test/AddTestTester.cmake +++ b/scripts/cmake/test/AddTestTester.cmake @@ -1,15 +1,15 @@ #message("tester: ${TESTER_COMMAND}") -#STRING(REPLACE " " ";" TESTER_COMMAND ${TESTER_COMMAND}) +#string(REPLACE " " ";" TESTER_COMMAND ${TESTER_COMMAND}) #set(list ${TESTER_COMMAND}) #message("tester: ${list}") -EXECUTE_PROCESS( +execute_process( COMMAND bash -c ${TESTER_COMMAND} WORKING_DIRECTORY ${case_path} RESULT_VARIABLE EXIT_CODE ) -IF(NOT EXIT_CODE STREQUAL "0") - MESSAGE(FATAL_ERROR "Error exit code: ${EXIT_CODE}") -ENDIF() +if(NOT EXIT_CODE STREQUAL "0") + message(FATAL_ERROR "Error exit code: ${EXIT_CODE}") +endif() diff --git a/scripts/cmake/test/AddTestWrapper.cmake b/scripts/cmake/test/AddTestWrapper.cmake index 05df4b1bb0610e6a9a86cdb4f11e5ff3155d61b9..54cfd25710efa71cb2df178005f02069856859f1 100644 --- a/scripts/cmake/test/AddTestWrapper.cmake +++ b/scripts/cmake/test/AddTestWrapper.cmake @@ -1,10 +1,10 @@ -STRING(REPLACE " " ";" WRAPPER_COMMAND ${WRAPPER_COMMAND}) -EXECUTE_PROCESS( +string(REPLACE " " ";" WRAPPER_COMMAND ${WRAPPER_COMMAND}) +execute_process( COMMAND ${WRAPPER_COMMAND} ${EXECUTABLE} ${EXECUTABLE_ARGS} WORKING_DIRECTORY ${case_path} RESULT_VARIABLE EXIT_CODE ) -IF(NOT EXIT_CODE STREQUAL "0") - MESSAGE(FATAL_ERROR "Test wrapper exited with code: ${EXIT_CODE}") -ENDIF() +if(NOT EXIT_CODE STREQUAL "0") + message(FATAL_ERROR "Test wrapper exited with code: ${EXIT_CODE}") +endif() diff --git a/scripts/cmake/test/CTestCustom.cmake.in b/scripts/cmake/test/CTestCustom.cmake.in index 66887f9e0f6e240f9d9a1e4fd53152d6d7a6eb36..14e2ef03447f4df374791cea542eea913833eb34 100644 --- a/scripts/cmake/test/CTestCustom.cmake.in +++ b/scripts/cmake/test/CTestCustom.cmake.in @@ -1,2 +1,2 @@ -# SET(CTEST_CUSTOM_POST_TEST "cat ${CMAKE_BINARY_DIR}/Testing/Temporary/LastTestTester.log 2>&1") -SET(CTEST_CUSTOM_TESTS_IGNORE ${CTEST_CUSTOM_TESTS_IGNORE}) # logog +# set(CTEST_CUSTOM_POST_TEST "cat ${CMAKE_BINARY_DIR}/Testing/Temporary/LastTestTester.log 2>&1") +set(CTEST_CUSTOM_TESTS_IGNORE ${CTEST_CUSTOM_TESTS_IGNORE}) # logog diff --git a/scripts/cmake/test/Data.cmake b/scripts/cmake/test/Data.cmake index 9378c095305f485a68274dabad00f74ea29d5f03..09ef843c63b1fe2a41fd9cd130ee963d805cb66a 100644 --- a/scripts/cmake/test/Data.cmake +++ b/scripts/cmake/test/Data.cmake @@ -1,20 +1,20 @@ -INCLUDE(ExternalData) +include(ExternalData) -SET(ExternalData_OBJECT_STORES "${ExternalData_OBJECT_STORES_DEFAULT}" CACHE STRING +set(ExternalData_OBJECT_STORES "${ExternalData_OBJECT_STORES_DEFAULT}" CACHE STRING "Semicolon-separated list of local directories holding test data files in the layout %(algo)/%(hash).") -MARK_AS_ADVANCED(ExternalData_OBJECT_STORES) -IF(NOT ExternalData_OBJECT_STORES) - SET(ExternalData_OBJECT_STORES "${CMAKE_SOURCE_DIR}/../ogs6-data") - FILE(MAKE_DIRECTORY "${ExternalData_OBJECT_STORES}") -ENDIF() +mark_as_advanced(ExternalData_OBJECT_STORES) +if(NOT ExternalData_OBJECT_STORES) + set(ExternalData_OBJECT_STORES "${CMAKE_SOURCE_DIR}/../ogs6-data") + file(MAKE_DIRECTORY "${ExternalData_OBJECT_STORES}") +endif() -SET(ExternalData_SOURCE_ROOT ${CMAKE_SOURCE_DIR}/Tests/Data) -SET(ExternalData_BINARY_ROOT ${CMAKE_BINARY_DIR}/Tests/Data) -SET(ExternalData_LINK_CONTENT MD5) +set(ExternalData_SOURCE_ROOT ${CMAKE_SOURCE_DIR}/Tests/Data) +set(ExternalData_BINARY_ROOT ${CMAKE_BINARY_DIR}/Tests/Data) +set(ExternalData_LINK_CONTENT MD5) -SET(ExternalData_URL_TEMPLATES "http://www.opengeosys.org/images/dev/%(algo)/%(hash)") +set(ExternalData_URL_TEMPLATES "http://www.opengeosys.org/images/dev/%(algo)/%(hash)") -ADD_CUSTOM_TARGET( +add_custom_target( move-data COMMAND ${CMAKE_COMMAND} -DExternalData_SOURCE_ROOT=${ExternalData_SOURCE_ROOT} @@ -24,20 +24,20 @@ ADD_CUSTOM_TARGET( VERBATIM ) -IF(HOSTNAME STREQUAL "envinf1.eve.ufz.de") - ADD_CUSTOM_TARGET( +if(HOSTNAME STREQUAL "envinf1.eve.ufz.de") + add_custom_target( sync-data COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/../ogs6-data /data/ogs/ogs6-data ) - IF(CURL_TOOL_PATH) - ADD_CUSTOM_COMMAND( + if(CURL_TOOL_PATH) + add_custom_command( TARGET sync-data POST_BUILD COMMAND ${CURL_TOOL_PATH} --insecure 'https://svn.ufz.de:8443/buildByToken/build?job=Tmp_Trigger&token=ogsbuild&cause=Triggered_by_sync-data_target_on_envinf1' COMMENT "Triggered sync to opengeosys.org, see https://svn.ufz.de:8443/job/OGS-6/job/SyncExternalData" ) - ELSE() - MESSAGE(STATUS "curl tool was not found but is required for the sync-data target!") - ENDIF() -ENDIF() + else() + message(STATUS "curl tool was not found but is required for the sync-data target!") + endif() +endif() diff --git a/scripts/cmake/test/MoveDataToStore.cmake b/scripts/cmake/test/MoveDataToStore.cmake index 2e70b1720a31f35996a37d1f6c47a46589454d11..bb2d8b2549d877254d7badaf0603597f593eaab3 100644 --- a/scripts/cmake/test/MoveDataToStore.cmake +++ b/scripts/cmake/test/MoveDataToStore.cmake @@ -1,7 +1,7 @@ # Get all files matching .ExternalData_<algo>_<hash> -FILE(GLOB_RECURSE FILES "" ${ExternalData_SOURCE_ROOT}/.ExternalData_${ExternalData_LINK_CONTENT}_*) -FOREACH(HASH_FILE ${FILES}) - STRING(REGEX MATCH [^_]+$ HASH ${HASH_FILE}) - MESSAGE("Copying ${HASH_FILE} to ${ExternalData_OBJECT_STORES}/${HASH}") - FILE(RENAME ${HASH_FILE} ${ExternalData_OBJECT_STORES}/${ExternalData_LINK_CONTENT}/${HASH}) -ENDFOREACH() +file(GLOB_RECURSE FILES "" ${ExternalData_SOURCE_ROOT}/.ExternalData_${ExternalData_LINK_CONTENT}_*) +foreach(HASH_FILE ${FILES}) + string(REGEX MATCH [^_]+$ HASH ${HASH_FILE}) + message("Copying ${HASH_FILE} to ${ExternalData_OBJECT_STORES}/${HASH}") + file(RENAME ${HASH_FILE} ${ExternalData_OBJECT_STORES}/${ExternalData_LINK_CONTENT}/${HASH}) +endforeach() diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake index aeda8ae73ad14d4efd71f4d5f2c7103b25545069..298253355dcbd361dfda06d48ced46da36f08cf9 100644 --- a/scripts/cmake/test/Test.cmake +++ b/scripts/cmake/test/Test.cmake @@ -1,12 +1,12 @@ # Find tools and data -FIND_PROGRAM(DIFF_TOOL_PATH diff) -FIND_PROGRAM(NUMDIFF_TOOL_PATH numdiff) -# FIND_PROGRAM(TIME_TOOL_PATH time) # TODO: does not work Travis -SET(TIME_TOOL_PATH time) -FIND_PROGRAM(GREP_TOOL_PATH grep) -FIND_PROGRAM(BASH_TOOL_PATH bash) -FIND_PROGRAM(VALGRIND_TOOL_PATH valgrind) -FIND_PROGRAM(MPIRUN_TOOL_PATH mpirun) +find_program(DIFF_TOOL_PATH diff) +find_program(NUMDIFF_TOOL_PATH numdiff) +# find_program(TIME_TOOL_PATH time) # TODO: does not work Travis +set(TIME_TOOL_PATH time) +find_program(GREP_TOOL_PATH grep) +find_program(BASH_TOOL_PATH bash) +find_program(VALGRIND_TOOL_PATH valgrind) +find_program(MPIRUN_TOOL_PATH mpirun) if(NOT TIME_TOOL_PATH) message(STATUS "time-command is required for time wrapper but was not found! All corresponding tests are disabled.") @@ -30,29 +30,29 @@ if(NOT GREP_TOOL_PATH) message(STATUS "grep-command is required for memcheck tester but was not found! All corresponding tests are disabled.") endif() -ENABLE_TESTING() # Enable CTest +enable_testing() # Enable CTest # See http://www.vtk.org/Wiki/CMake/Testing_With_CTest for some customization options -SET(CTEST_CUSTOM_TESTS_IGNORE test-harness) # ignore logog test -CONFIGURE_FILE( +set(CTEST_CUSTOM_TESTS_IGNORE test-harness) # ignore logog test +configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/CTestCustom.cmake.in ${CMAKE_BINARY_DIR}/CTestCustom.cmake ) -INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/AddTest.cmake) -INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/Data.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/AddTest.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/Data.cmake) -IF(CMAKE_CONFIGURATION_TYPES) - SET(CONFIG_PARAMETER --build-config "$<CONFIGURATION>") -ENDIF() -ADD_CUSTOM_TARGET( +if(CMAKE_CONFIGURATION_TYPES) + set(CONFIG_PARAMETER --build-config "$<CONFIGURATION>") +endif() +add_custom_target( ctest COMMAND ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure --exclude-regex LARGE ${CONFIG_PARAMETER} --parallel ${NUM_PROCESSORS} --test-action test DEPENDS data ) -ADD_CUSTOM_TARGET( +add_custom_target( ctest-large COMMAND ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure --tests-regex LARGE