#from https://code.google.com/p/vaa3d/wiki/BuildVaa3D #this imports variables here PackageSetup() FIND_PACKAGE(Subversion) IF(Subversion_FOUND) message("svn exec-->${Subversion_SVN_EXECUTABLE}<-->${Subversion_VERSION_SVN}<--") ENDIF(Subversion_FOUND) function(PackageCommands outvar) cmake_parse_arguments(MY_OPTIONS "APPEND" "WORKING_DIRECTORY" "" ${ARGN} ) if(NOT MY_OPTIONS_WORKING_DIRECTORY) set(MY_OPTIONS_WORKING_DIRECTORY ${Package_Source_Dir}) endif() set(mycommand "") #message("------------->${ARGN}<--------") foreach(p ${MY_OPTIONS_UNPARSED_ARGUMENTS} ) set(mycommand "${mycommand} execute_process(COMMAND ${p} WORKING_DIRECTORY ${MY_OPTIONS_WORKING_DIRECTORY} RESULT_VARIABLE status_code OUTPUT_VARIABLE log) if(NOT status_code EQUAL 0) message(FATAL_ERROR \" error in line: ${p} status_code: \${status_code} log: \${log} \") endif() ") endforeach(p) if(MY_OPTIONS_APPEND) set(${outvar} "${${outvar}} ${mycommand}" PARENT_SCOPE) else() set(${outvar} ${mycommand} PARENT_SCOPE) endif() #debug_message("--->${mycommand}<--") endfunction(PackageCommands) if(WIN32) set(PATCH_COMMAND_LINE "${PATCH_PROGRAM} -p0 --binary -i ") else() set(PATCH_COMMAND_LINE "${PATCH_PROGRAM} -p0 -E -t -i ") endif() PackageCommands(tmp WORKING_DIRECTORY ${Package_Source_Dir} "${Subversion_SVN_EXECUTABLE} --non-interactive --trust-server-cert -r 3220 co https://svn.janelia.org/penglab/projects/vaa3d/trunk ." ) PackageCommands(tmp APPEND WORKING_DIRECTORY ${Package_Source_Dir} "${PATCH_COMMAND_LINE} ${Package_Dir}/Patch/lobeseg_patch.diff" "${PATCH_COMMAND_LINE} ${Package_Dir}/Patch/add_released_plugind_more.diff" ) PackageCommands(tmp APPEND WORKING_DIRECTORY ${Package_Source_Dir} "${Subversion_SVN_EXECUTABLE} --non-interactive --trust-server-cert -r 806 co https://svn.janelia.org/penglab/projects/vaa3d_tools/released_plugins ./released_plugins_more" ) PackageCommands(tmp APPEND WORKING_DIRECTORY ${Package_Source_Dir}/released_plugins_more "${PATCH_COMMAND_LINE} ${Package_Dir}/Patch/blacklist_plugin.diff" ) PackageCommands(tmp APPEND WORKING_DIRECTORY ${Package_Source_Dir}/released_plugins_more/v3d_plugins/terastitcher "cp ${Package_Dir}/Patch/terastitcher_CMakeLists.txt CMakeLists.txt" ) PackageCommands(tmp APPEND WORKING_DIRECTORY ${Package_Source_Dir}/released_plugins_more/v3d_plugins/teramanager "cp ${Package_Dir}/Patch/teramanager_CMakeLists.txt CMakeLists.txt" ) # message("SourceSetup--->${tmp}<--") file(WRITE ${Package_Source_Stamp_Dir}/SourceSetup.cmake ${tmp}) if(NOT $ENV{BOOST_HOME} STREQUAL "") message ("found BOOST_HOME --> $ENV{BOOST_HOME}") set(BOOST_ROOT $ENV{BOOST_HOME}) SET(Boost_ADDITIONAL_VERSIONS "1.49" "1.49.0" ) endif() find_package(Boost) if(Boost_FOUND) set(Package_specific_cmake_args ${Package_specific_cmake_args} -DBOOST_LOCAL_PATH:PATH=${BOOST_ROOT}) endif() if(WIN32) #### windows..... not done yet message(FATAL_ERROR "package ${PACKAGE} not currently available for windows") else() get_filename_component(tmp ${Package_Source_Dir} PATH) set(Package_source_setup ## SVN_REPOSITORY https://svn.janelia.org/penglab/projects/vaa3d/trunk DOWNLOAD_COMMAND ${CMAKE_COMMAND} -P ${Package_Source_Stamp_Dir}/SourceSetup.cmake UPDATE_COMMAND "" ) set(Package_specific_cmake_args ${Package_specific_cmake_args} -DBLACKLIST_PLUGIN:STRING=" istitch lobeseg ") PackageCmakeAdd() endif()