| @@ -1,25 +1,25 @@ | ||
| set( VIDEO_SUPPORT ) | ||
|
|
||
| #----------------------------------------------------------------------------- | ||
| # Is FFMPEG AVAILABLE ( FOR UNIX) MAC?? | ||
| if( NOT WIN32 ) | ||
|
|
||
| find_package( FFMPEG ) | ||
|
|
||
| if( FFMPEG_FOUND ) | ||
| list( APPEND VIDEO_SUPPORT | ||
| -DVTK_USE_FFMPEG_ENCODER:BOOL=ON | ||
| ) | ||
| else( FFMPEG_FOUND ) | ||
| list( APPEND VIDEO_SUPPORT | ||
| -DVTK_USE_FFMPEG_ENCODER:BOOL=OFF | ||
| ) | ||
| endif( FFMPEG_FOUND ) | ||
|
|
||
| # DO STH FOR WINDOWS | ||
| # turn on video by default | ||
| else( NOT WIN32 ) | ||
| list( APPEND VIDEO_SUPPORT | ||
| -DVTK_USE_AVI_ENCODER:BOOL=ON | ||
| ) | ||
| endif( NOT WIN32 ) |
| @@ -1,14 +1,14 @@ | ||
| # add subdirectories | ||
| add_subdirectory( ExternalCode ) | ||
| add_subdirectory( Database ) | ||
| add_subdirectory( IO ) | ||
| add_subdirectory( Filters ) | ||
| add_subdirectory( GUI ) | ||
|
|
||
|
|
||
| file( GLOB __source_file_h "${CMAKE_CURRENT_SOURCE_DIR}/*.h" ) | ||
|
|
||
| install( FILES ${__source_file_h} | ||
| DESTINATION ${GOFIGURE2_INSTALL_HEADER_DIR} | ||
| COMPONENT Development | ||
| ) |
| @@ -1,4 +1,4 @@ | ||
| subdirs( | ||
| itkQt | ||
| MegaVTK | ||
| vtkLSM | ||
| @@ -1,54 +1,54 @@ | ||
| if( WIN32 ) | ||
| if( NOT CYGWIN ) | ||
| if( NOT MINGW ) | ||
| if( BUILD_SHARED_LIBS ) | ||
| add_definitions( -DitkQt_EXPORT ) | ||
| endif( BUILD_SHARED_LIBS ) | ||
| endif( NOT MINGW ) | ||
| endif( NOT CYGWIN ) | ||
| endif( WIN32 ) | ||
|
|
||
|
|
||
| configure_file( | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/itkQtConfigure.h.in | ||
| ${CMAKE_CURRENT_BINARY_DIR}/itkQtConfigure.h @ONLY IMMEDIATE ) | ||
|
|
||
| QT4_WRAP_CPP( itkQtAdaptor_MOC itkQtAdaptor.h ) | ||
|
|
||
| add_library( itkQt | ||
| itkQtProgressBar.cxx | ||
| itkQtProgressDialog.cxx | ||
| itkQtAdaptor.h | ||
| ${itkQtAdaptor_MOC} | ||
| ) | ||
|
|
||
| target_link_libraries( itkQt | ||
| ${ITK_LIBRARIES} | ||
| ${QT_LIBRARIES} | ||
| ) | ||
|
|
||
| set_target_properties( itkQt PROPERTIES VERSION ${GOFIGURE2_LIB_VERSION} SOVERSION ${GOFIGURE2_LIB_VERSION} ) | ||
|
|
||
| # Runtime | ||
| install( TARGETS itkQt | ||
| EXPORT GoFigure2Targets | ||
| RUNTIME DESTINATION ${GOFIGURE2_INSTALL_BIN_DIR} COMPONENT Runtime | ||
| LIBRARY DESTINATION ${GOFIGURE2_INSTALL_LIB_DIR} NAMELINK_SKIP COMPONENT Libraries | ||
| ARCHIVE DESTINATION ${GOFIGURE2_INSTALL_LIB_DIR} COMPONENT Libraries | ||
| ) | ||
|
|
||
| # Development | ||
| install( TARGETS itkQt | ||
| EXPORT GoFigure2Targets | ||
| RUNTIME DESTINATION ${GOFIGURE2_INSTALL_BIN_DIR} COMPONENT Runtime | ||
| LIBRARY DESTINATION ${GOFIGURE2_INSTALL_LIB_DIR} NAMELINK_ONLY COMPONENT Libraries | ||
| ARCHIVE DESTINATION ${GOFIGURE2_INSTALL_LIB_DIR} COMPONENT Libraries | ||
| ) | ||
|
|
||
| file( GLOB __source_file_h "${CMAKE_CURRENT_SOURCE_DIR}/*.h" ) | ||
| file( GLOB __binary_file_h "${CMAKE_CURRENT_BINARY_DIR}/*.h" ) | ||
|
|
||
| install( FILES ${__source_file_h} ${__binary_file_h} | ||
| DESTINATION ${GOFIGURE2_INSTALL_HEADER_DIR} | ||
| COMPONENT Development | ||
| ) |
| @@ -1 +1 @@ | ||
| add_subdirectory( lib ) |
| @@ -1 +1 @@ | ||
| add_subdirectory( Doxygen ) |
| @@ -1,4 +1,4 @@ | ||
| add_subdirectory( ExternalCode ) | ||
| add_subdirectory( Filters ) | ||
| add_subdirectory( IO ) | ||
| add_subdirectory( GUI ) |
| @@ -1,2 +1,2 @@ | ||
| add_subdirectory( MegaVTK ) | ||
| add_subdirectory( ctk ) |
| @@ -1,22 +1,22 @@ | ||
| set( CTK_EXAMPLE_SRC | ||
| ctkDoubleSlider | ||
| ctkCollapsibleGroupBoxTest | ||
| ) | ||
|
|
||
| foreach( var ${CTK_EXAMPLE_SRC} ) | ||
|
|
||
| add_executable( ${var} ${var}.cxx ) | ||
| target_link_libraries( ${var} ctk ) | ||
|
|
||
| endforeach( var ${CTK_EXAMPLE_SRC} ) | ||
|
|
||
|
|
||
| add_test( ctkDoubleSliderTest1 | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ctkDoubleSlider | ||
| 1 | ||
| ) | ||
|
|
||
| add_test( ctkCollapsibleGroupBoxTest1 | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ctkCollapsibleGroupBoxTest | ||
| 1 | ||
| ) |
| @@ -1,153 +1,153 @@ | ||
| add_executable( itkvtkPolyDatatoBinaryMaskImageFilterTest | ||
| itkvtkPolyDatatoBinaryMaskImageFilterTest.cxx ) | ||
|
|
||
| target_link_libraries( itkvtkPolyDatatoBinaryMaskImageFilterTest | ||
| ${ITK_LIBRARIES} | ||
| vtkGraphics | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| add_test( itkvtkPolyDatatoBinaryMaskImageFilterTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkvtkPolyDatatoBinaryMaskImageFilterTest | ||
| ${TESTING_DATA_PATH}/Circle3D.mhd | ||
| temp.mhd | ||
| ) | ||
|
|
||
| add_executable( itkBinaryMaskImageToGoFigureMeshAttributesTest | ||
| itkBinaryMaskImageToGoFigureMeshAttributesTest.cxx ) | ||
| target_link_libraries( itkBinaryMaskImageToGoFigureMeshAttributesTest | ||
| QGoGui | ||
| ) | ||
|
|
||
| add_test( itkBinaryMaskImageToGoFigureMeshAttributesTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkBinaryMaskImageToGoFigureMeshAttributesTest | ||
| ${TESTING_DATA_PATH}/Circle3D.mhd | ||
| temp.mhd | ||
| ) | ||
|
|
||
| add_executable( itkvtkPolyDataToGoFigureMeshAttributesTest | ||
| itkvtkPolyDataToGoFigureMeshAttributesTest.cxx ) | ||
| target_link_libraries( itkvtkPolyDataToGoFigureMeshAttributesTest | ||
| QGoGui | ||
| vtkGraphics | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| add_test( itkvtkPolyDataToGoFigureMeshAttributesTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkvtkPolyDataToGoFigureMeshAttributesTest | ||
| ${TESTING_DATA_PATH}/Circle3D.mhd | ||
| ) | ||
|
|
||
| set_tests_properties( itkBinaryMaskImageToGoFigureMeshAttributesTest | ||
| PROPERTIES DEPENDS | ||
| itkvtkPolyDatatoBinaryMaskImageFilterTest | ||
| ) | ||
|
|
||
| add_executable( ContourToMeshFilterTest | ||
| ContourToMeshFilterTest.cxx | ||
| ) | ||
| target_link_libraries( ContourToMeshFilterTest | ||
| PoissonReconstruction | ||
| vtkHybrid | ||
| vtkRenderingAddOn2 | ||
| ${ITK_LIBRARIES} | ||
| ) | ||
|
|
||
| add_test( ContourToMeshFilterTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ContourToMeshFilterTest | ||
| 1 | ||
| ) | ||
|
|
||
| add_executable( MeshToContourFilterTest | ||
| MeshToContourFilterTest.cxx | ||
| ${GOFIGURE2_SOURCE_DIR}/Code/Filters/Mesh/MeshToContourFilter.cxx | ||
| ) | ||
| target_link_libraries( MeshToContourFilterTest | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| add_test( MeshToContourFilterTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/MeshToContourFilterTest | ||
| 1 | ||
| ) | ||
|
|
||
| #add_executable( singleCellSplitImageFilter | ||
| # SingleCellSplitImageFilter.cxx | ||
| # ) | ||
| #target_link_libraries( | ||
| # singleCellSplitImageFilter | ||
| # ITKReview | ||
| # ITKIO | ||
| # ) | ||
|
|
||
| add_executable( cellMergeImageFilter | ||
| CellMergeImageFilter.cxx | ||
| ) | ||
|
|
||
| target_link_libraries( cellMergeImageFilter | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| #add_test( singleCellSplitImageFilterTest | ||
| # ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/singleCellSplitImageFilter | ||
| # ${TESTING_DATA_PATH}/MultiphaseCells2D.png | ||
| # split.mhd | ||
| #) | ||
|
|
||
|
|
||
| add_executable( itkvtkMeshSplitterDanielssonImageFilterTest | ||
| itkvtkMeshSplitterDanielssonImageFilterTest.cxx | ||
| ) | ||
| target_link_libraries( itkvtkMeshSplitterDanielssonImageFilterTest | ||
| QGoGui | ||
| ) | ||
|
|
||
| add_test( itkvtkMeshSplitterDanielssonImageFilterTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkvtkMeshSplitterDanielssonImageFilterTest | ||
| ${TESTING_DATA_PATH}/Circle3D.mhd | ||
| ) | ||
|
|
||
| add_executable( ExtractMeshesFromLabelImageFilter | ||
| ExtractMeshesFromLabelImageFilter.cxx | ||
| ) | ||
| target_link_libraries( ExtractMeshesFromLabelImageFilter | ||
| #ITKCommon | ||
| #ITKIO | ||
| #ITKReview | ||
| ${ITK_LIBRARIES} | ||
| ) | ||
|
|
||
| add_executable(ConvertMeshesToLabelImageFilter ConvertMeshesToLabelImageFilter.cxx ) | ||
| target_link_libraries( ConvertMeshesToLabelImageFilter | ||
| # ITKIO ITKReview | ||
| ${ITK_LIBRARIES} | ||
| ) | ||
|
|
||
| add_executable( itkQuadEdgeMeshTovtkPolyDataTest itkQuadEdgeMeshTovtkPolyDataTest.cxx ) | ||
| target_link_libraries( itkQuadEdgeMeshTovtkPolyDataTest | ||
| #ITKCommon | ||
| ${ITK_LIBRARIES} | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| add_executable( itkvtkPolyDataToitkQuadEdgeMeshTest | ||
| itkvtkPolyDataToitkQuadEdgeMeshTest.cxx ) | ||
| target_link_libraries( itkvtkPolyDataToitkQuadEdgeMeshTest | ||
| #ITKCommon | ||
| ${ITK_LIBRARIES} | ||
| vtkHybrid | ||
| ) | ||
|
|
||
| add_test( itkvtkPolyDataToitkQuadEdgeMeshTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkvtkPolyDataToitkQuadEdgeMeshTest | ||
| ) | ||
|
|
||
| add_executable( itkvtkMeshMergeConvexHullFilterTest | ||
| itkvtkMeshMergeConvexHullFilterTest.cxx ) | ||
| target_link_libraries( itkvtkMeshMergeConvexHullFilterTest | ||
| QGoGui | ||
| ) | ||
| add_test( itkvtkMeshMergeConvexHullFilterTest | ||
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/itkvtkMeshMergeConvexHullFilterTest | ||
| ${TESTING_DATA_PATH}/Circle3D.mhd | ||
| ) |
| @@ -1 +1 @@ | ||
| add_subdirectory( lib ) |
| @@ -1,100 +1,100 @@ | ||
| # setup CPack | ||
|
|
||
| include( ${GOFIGURE2_SOURCE_DIR}/CMake/InstallSupportLibraries.cmake ) | ||
|
|
||
| configure_file( "${GOFIGURE2_SOURCE_DIR}/GOFIGURE2CPackOptions.cmake.in" | ||
| "${GOFIGURE2_BINARY_DIR}/GOFIGURE2CPackOptions.cmake" @ONLY | ||
| ) | ||
|
|
||
| set( CPACK_PROJECT_CONFIG_FILE | ||
| "${GOFIGURE2_BINARY_DIR}/GOFIGURE2CPackOptions.cmake" | ||
| ) | ||
| set( CPACK_PACKAGE_DESCRIPTION_SUMMARY | ||
| "GoFigure2 is a cross-platform application for microscope image visualization and analysis" | ||
| ) | ||
| set( CPACK_PACKAGE_VENDOR "Megason Lab, Systems Biology, HMS" ) | ||
| set( CPACK_PACKAGE_CONTACT "gofigure2-developers@lists.sourceforge.net" ) | ||
| set( CPACK_PACKAGE_DESCRIPTION_FILE "${GOFIGURE2_SOURCE_DIR}/ReadMe.rst") | ||
| set( CPACK_RESOURCE_FILE_LICENSE "${GOFIGURE2_SOURCE_DIR}/Licenses/Copyright.txt") | ||
| set( CPACK_RESOURCE_FILE_WELCOME "${GOFIGURE2_SOURCE_DIR}/CPack.GenericWelcome.txt" ) | ||
| set( CPACK_PACKAGE_VERSION_MAJOR ${GOFIGURE2_MAJOR_VERSION} ) | ||
| set( CPACK_PACKAGE_VERSION_MINOR ${GOFIGURE2_MINOR_VERSION} ) | ||
| set( CPACK_PACKAGE_VERSION_PATCH ${GOFIGURE2_WC_REVISION} ) | ||
| set( CPACK_PACKAGE_INSTALL_DIRECTORY "GoFigure2" ) | ||
| set( CPACK_SOURCE_PACKAGE_FILE_NAME "GoFigure2-${GOFIGURE2_VERSION}" ) | ||
|
|
||
| # taken from CMake | ||
| if( NOT DEFINED CPACK_SYSTEM_NAME ) | ||
| # make sure package is not Cygwin-unknown, for Cygwin just | ||
| # cygwin is good for the system name | ||
| if("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") | ||
| set( CPACK_SYSTEM_NAME Cygwin ) | ||
| else("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") | ||
| if( CMAKE_SYSTEM_PROCESSOR MATCHES "unknown" ) | ||
| exec_program( uname ARGS "-m" OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR ) | ||
| endif( CMAKE_SYSTEM_PROCESSOR MATCHES "unknown" ) | ||
|
|
||
| set( CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR} ) | ||
| endif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") | ||
| endif( NOT DEFINED CPACK_SYSTEM_NAME ) | ||
|
|
||
| #set up the package name on mac | ||
| if( ${CPACK_SYSTEM_NAME} MATCHES Darwin ) | ||
| #use uname -m instead of uname -p | ||
| #execute_process( COMMAND uname -m | ||
| # OUTPUT_VARIABLE PLATFORM) | ||
| #remove end of line character | ||
| #string(REGEX REPLACE "/n" "" PLATFORM2 ${PLATFORM}) | ||
| #set the system name | ||
| if( CMAKE_OSX_ARCHITECTURES ) | ||
| set( CPACK_SYSTEM_NAME Darwin-${CMAKE_OSX_ARCHITECTURES} ) | ||
| endif( CMAKE_OSX_ARCHITECTURES ) | ||
| endif( ${CPACK_SYSTEM_NAME} MATCHES Darwin ) | ||
|
|
||
| #set up the package name on windows | ||
| if( ${CPACK_SYSTEM_NAME} MATCHES Windows ) | ||
| if( CMAKE_CL_64 ) | ||
| set( CPACK_SYSTEM_NAME win64-${CMAKE_SYSTEM_PROCESSOR} ) | ||
| else( CMAKE_CL_64 ) | ||
| set( CPACK_SYSTEM_NAME win32-${CMAKE_SYSTEM_PROCESSOR} ) | ||
| endif( CMAKE_CL_64 ) | ||
| endif( ${CPACK_SYSTEM_NAME} MATCHES Windows ) | ||
|
|
||
| if( NOT DEFINED CPACK_PACKAGE_FILE_NAME ) | ||
| # if the CPACK_PACKAGE_FILE_NAME is not defined by the cache | ||
| # default to source package - system, on cygwin system is not | ||
| # needed | ||
| if( CYGWIN ) | ||
| set( CPACK_PACKAGE_FILE_NAME | ||
| "${CPACK_SOURCE_PACKAGE_FILE_NAME}" ) | ||
| else( CYGWIN ) | ||
| set( CPACK_PACKAGE_FILE_NAME | ||
| "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}" ) | ||
| endif( CYGWIN ) | ||
| endif( NOT DEFINED CPACK_PACKAGE_FILE_NAME ) | ||
|
|
||
| if( WIN32 AND NOT UNIX ) | ||
| include( ${CPACK_PROJECT_CONFIG_FILE} ) | ||
| else( WIN32 AND NOT UNIX ) | ||
| set( CPACK_STRIP_FILES "bin/gofigure" ) | ||
| set( CPACK_SOURCE_STRIP_FILES "" ) | ||
| endif( WIN32 AND NOT UNIX ) | ||
|
|
||
| set( CPACK_PACKAGE_EXECUTABLES "gofigure" "GoFigure2" ) | ||
|
|
||
| # # # # cygwin specific packaging stuff | ||
| # # if(CYGWIN) | ||
| # # endif( CYGWIN ) | ||
|
|
||
| if( WIN32 ) | ||
| install( PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} | ||
| DESTINATION bin COMPONENT Runtime ) | ||
| endif( WIN32 ) | ||
|
|
||
| set( CPACK_COMPONENTS_ALL | ||
| Runtime | ||
| Libraries | ||
| # headers | ||
| ) | ||
|
|
||
| include( CPack ) |
| @@ -1,22 +1,22 @@ | ||
| if( NOT EXISTS "@GOFIGURE2_BINARY_DIR@/install_manifest.txt" ) | ||
| message( FATAL_ERROR "Cannot find install manifest: \"@GOFIGURE2_BINARY_DIR@/install_manifest.txt\"" ) | ||
| endif( NOT EXISTS "@GOFIGURE2_BINARY_DIR@/install_manifest.txt" ) | ||
|
|
||
| file( READ "@GOFIGURE2_BINARY_DIR@/install_manifest.txt" files ) | ||
| string( REGEX REPLACE "\n" ";" files "${files}" ) | ||
| foreach( file ${files} ) | ||
| message( STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"" ) | ||
| if( EXISTS "$ENV{DESTDIR}${file}" ) | ||
| exec_program( | ||
| "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" | ||
| OUTPUT_VARIABLE rm_out | ||
| RETURN_VALUE rm_retval | ||
| ) | ||
| if( "${rm_retval}" STREQUAL 0 ) | ||
| else( "${rm_retval}" STREQUAL 0 ) | ||
| message( FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"" ) | ||
| endif( "${rm_retval}" STREQUAL 0 ) | ||
| else( EXISTS "$ENV{DESTDIR}${file}" ) | ||
| message( STATUS "File \"$ENV{DESTDIR}${file}\" does not exist." ) | ||
| endif( EXISTS "$ENV{DESTDIR}${file}" ) | ||
| endforeach( file ) |
| @@ -1,13 +1,13 @@ | ||
| #----------------------------------------------------------------------------- | ||
| # uses KWStyle for checking the coding style | ||
| include(KWStyle.cmake) | ||
|
|
||
|
|
||
| if(UNIX) | ||
| configure_file(${GOFIGURE2_SOURCE_DIR}/KWStyle/doAllStyle.csh.in | ||
| ${GOFIGURE2_BINARY_DIR}/doAllStyle.csh | ||
| @ONLY IMMEDIATE) | ||
| exec_program(chmod ARGS 755 \"${GOFIGURE2_BINARY_DIR}/doAllStyle.csh\" | ||
| OUTPUT_VARIABLE ITK_EXEC_PLEASE_BE_QUIET) | ||
| endif(UNIX) | ||
|
|
| @@ -1,117 +1,117 @@ | ||
| option(GOFIGURE2_USE_KWSTYLE "Enable the use of KWStyle for checking coding style." OFF) | ||
| if(GOFIGURE2_USE_KWSTYLE) | ||
|
|
||
| # Set the required KWStyle version | ||
| set(KWSTYLE_REQ_MAJOR 1) | ||
| set(KWSTYLE_REQ_MINOR 0) | ||
| set(KWSTYLE_REQ_PATCH 1) | ||
|
|
||
| option(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF) | ||
| option(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF) | ||
|
|
||
| find_program(KWSTYLE_EXECUTABLE | ||
| NAMES KWStyle | ||
| PATHS | ||
| /usr/local/bin | ||
| ) | ||
|
|
||
| if(KWSTYLE_EXECUTABLE) | ||
|
|
||
| execute_process( | ||
| COMMAND ${KWSTYLE_EXECUTABLE} -version | ||
| OUTPUT_VARIABLE KWSTYLE_VERSION_TEXT | ||
| ) | ||
|
|
||
| string(STRIP ${KWSTYLE_VERSION_TEXT} KWSTYLE_VERSION_TEXT) | ||
|
|
||
| if(KWSTYLE_VERSION_TEXT STREQUAL "Version: Not defined") | ||
| message("This project requires a newer version of KWStyle. Please upgrade the KWStyle executable.") | ||
| else(${KWSTYLE_VERSION_TEXT} STREQUAL "Version: Not defined") | ||
|
|
||
| string(LENGTH ${KWSTYLE_VERSION_TEXT} KWSTYLE_VERSION_LENGTH) | ||
| math(EXPR KWSTYLE_VERSION_FINAL_LENGTH "${KWSTYLE_VERSION_LENGTH}-9") | ||
| string(SUBSTRING ${KWSTYLE_VERSION_TEXT} 9 ${KWSTYLE_VERSION_FINAL_LENGTH} KWSTYLE_VERSION) | ||
|
|
||
| # now parse the parts of the user given version string into variables | ||
| string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" KWSTYLE_MAJOR_VERSION "${KWSTYLE_VERSION}") | ||
| string(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" KWSTYLE_MINOR_VERSION "${KWSTYLE_VERSION}") | ||
| string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" KWSTYLE_PATCH_VERSION "${KWSTYLE_VERSION}") | ||
|
|
||
| math(EXPR KWSTYLE_REQ_VERSION "${KWSTYLE_REQ_MAJOR}*10000 + ${KWSTYLE_REQ_MINOR}*100 + ${KWSTYLE_REQ_PATCH}") | ||
| math(EXPR KWSTYLE_LONG_VERSION "${KWSTYLE_MAJOR_VERSION}*10000 + ${KWSTYLE_MINOR_VERSION}*100 + ${KWSTYLE_PATCH_VERSION}") | ||
|
|
||
| # Set the minimum require version for batchmake | ||
| if(KWSTYLE_LONG_VERSION LESS KWSTYLE_REQ_VERSION) | ||
| message(FATAL_ERROR "This project requires a newer version of KWStyle. Please upgrade the KWStyle executable.") | ||
| else(KWSTYLE_LONG_VERSION LESS KWSTYLE_REQ_VERSION) | ||
| set(KWSTYLE_FOUND 1) | ||
| endif(KWSTYLE_LONG_VERSION LESS KWSTYLE_REQ_VERSION) | ||
| endif(KWSTYLE_VERSION_TEXT STREQUAL "Version: Not defined") | ||
|
|
||
| if(KWSTYLE_FOUND) | ||
| # | ||
| # Define file names | ||
| # | ||
| set(KWSTYLE_CONFIGURATION_FILE | ||
| ${GOFIGURE2_BINARY_DIR}/KWStyle/GOFIGURE2.kws.xml) | ||
|
|
||
| set(KWSTYLE_GOFIGURE2_FILES_LIST | ||
| ${GOFIGURE2_BINARY_DIR}/KWStyle/GOFIGURE2_Files.txt) | ||
|
|
||
| set(KWSTYLE_GOFIGURE2_OVERWRITE_FILE | ||
| ${GOFIGURE2_SOURCE_DIR}/KWStyle/GOFIGURE2_Overwrite.txt ) | ||
|
|
||
| # | ||
| # Configure the files | ||
| # | ||
| configure_file( | ||
| ${GOFIGURE2_SOURCE_DIR}/KWStyle/GOFIGURE2_Files.txt.in | ||
| ${KWSTYLE_GOFIGURE2_FILES_LIST} ) | ||
|
|
||
| configure_file( | ||
| ${GOFIGURE2_SOURCE_DIR}/KWStyle/GOFIGURE2.kws.xml.in | ||
| ${KWSTYLE_CONFIGURATION_FILE} ) | ||
|
|
||
|
|
||
| # | ||
| # Define formatting for error messages | ||
| # | ||
| set(KWSTYLE_EDITOR_FORMAT " ") | ||
| set(KWSTYLE_EDITOR_FORMAT "") | ||
|
|
||
| if(${CMAKE_CXX_COMPILER} MATCHES "cl.exe$") | ||
| set(KWSTYLE_USE_MSVC_FORMAT 1) | ||
| endif(${CMAKE_CXX_COMPILER} MATCHES "cl.exe$") | ||
|
|
||
| if(${CMAKE_C_COMPILER} MATCHES "g[cx][cx]$") | ||
| set(KWSTYLE_USE_VIM_FORMAT 1) | ||
| endif(${CMAKE_C_COMPILER} MATCHES "g[cx][cx]$") | ||
|
|
||
| if(KWSTYLE_USE_VIM_FORMAT) | ||
| set(KWSTYLE_EDITOR_FORMAT -vim) | ||
| endif(KWSTYLE_USE_VIM_FORMAT) | ||
|
|
||
| if(KWSTYLE_USE_MSVC_FORMAT) | ||
| set(KWSTYLE_EDITOR_FORMAT -msvc) | ||
| endif(KWSTYLE_USE_MSVC_FORMAT) | ||
|
|
||
| set(KWSTYLE_ARGUMENTS_CODE | ||
| -xml ${KWSTYLE_CONFIGURATION_FILE} -v -D ${KWSTYLE_GOFIGURE2_FILES_LIST} | ||
| -o ${KWSTYLE_GOFIGURE2_OVERWRITE_FILE} | ||
| ${KWSTYLE_EDITOR_FORMAT} | ||
| ) | ||
|
|
||
| add_custom_command( | ||
| OUTPUT ${GOFIGURE2_BINARY_DIR}/KWStyleCodeReport.txt | ||
| COMMAND ${KWSTYLE_EXECUTABLE} | ||
| ARGS ${KWSTYLE_ARGUMENTS_CODE} | ||
| COMMENT "Coding Style Checker" | ||
| ) | ||
|
|
||
| add_custom_target(StyleCheckCode DEPENDS ${GOFIGURE2_BINARY_DIR}/KWStyleCodeReport.txt) | ||
|
|
||
| add_test(KWStyleCodeTest ${KWSTYLE_EXECUTABLE} ${KWSTYLE_ARGUMENTS_CODE}) | ||
|
|
||
| endif(KWSTYLE_FOUND) | ||
| endif(KWSTYLE_EXECUTABLE) | ||
| endif(GOFIGURE2_USE_KWSTYLE) |