Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cmake_minimum_required(VERSION 2.6)
- project(ImageCompleter)
- ########### Eigen ##############
- include_directories(/media/portable/src/Eigen /media/portable/src/Eigen/unsupported)
- set(CMAKE_MODULE_PATH /media/portable/src/Eigen/cmake)
- FIND_PACKAGE(Umfpack REQUIRED)
- FIND_PACKAGE(BLAS REQUIRED)
- include_directories(${UMFPACK_INCLUDES})
- #SET(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET")
- SET(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET;")
- # must link to umfpack
- ################################
- find_package(wxWidgets COMPONENTS core base REQUIRED)
- include( ${wxWidgets_USE_FILE} )
- set(cmdsrc src/image-completer-cmd)
- set(ImageCompleterDir src/image-completer-lib/impl)
- set(tech src/tech)
- include_directories(src/image-completer-cmd src/image-completer-lib src/image-completer-lib/api src/image-completer-lib/impl src/image-completer-lib/impl/compositors src/image-completer-lib/impl/energy-calculators src/tech/tech src/tech)
- #If you want to enable the patches to be composited using Poisson blending, set this flag to ON (requires TAUCS to be installed).
- set(USE_POISSON OFF CACHE BOOL "Use Poisson blending?")
- if(USE_POISSON)
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DUSE_POISSON")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} USE_POISSON;")
- set(LibrariesToLink ${LibrariesToLink} umfpack)
- endif(USE_POISSON)
- #If you want to enable the per-pixel energy calculator to use multiple hardware threads, set this flag to ON.
- set(USE_THREADS OFF CACHE BOOL "Use threads?" FORCE)
- if(USE_THREADS)
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DUSE_THREADS")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} USE_THREADS;")
- endif(USE_THREADS)
- IF(UNIX)
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DUNIX")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} UNIX;")
- ENDIF(UNIX)
- set(USE_ITK OFF CACHE BOOL "Use ITK?")
- IF(USE_ITK)
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DUSE_ITK")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} USE_ITK;")
- ENDIF(USE_ITK)
- set(USE_FLOAT_PIXELS OFF CACHE BOOL "Use float pixels?")
- IF(USE_FLOAT_PIXELS)
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DUSE_FLOAT_PIXELS")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} USE_FLOAT_PIXELS;")
- ENDIF(USE_FLOAT_PIXELS)
- set(PIXEL_DIMENSION 3 CACHE STRING "Dimensionality of pixels?") #cmake doesn't have an "INT" variable type, so treat it as a string
- #set(MAIN_BUILD_FLAGS "${MAIN_BUILD_FLAGS} -DPIXEL_DIMENSION=${PIXEL_DIMENSION}")
- set(MAIN_BUILD_DEFINITIONS "${MAIN_BUILD_DEFINITIONS} PIXEL_DIMENSION=${PIXEL_DIMENSION};")
- ###############
- #if Eigen is setup correctly, we would want to enable Poisson blending
- IF(USE_POISSON)
- set(ImageCompleterSources ${ImageCompleterSources}
- ${ImageCompleterDir}/compositors/PatchTypePoisson.cpp
- ${ImageCompleterDir}/compositors/PoissonSolver.cpp)
- ENDIF(USE_POISSON)
- set(ImageCompleterSources ${ImageCompleterSources}
- ${cmdsrc}/AppData.cpp
- ${ImageCompleterDir}/Compositor.cpp
- ${ImageCompleterDir}/ConstNodeLabels.cpp
- ${ImageCompleterDir}/EnergyCalculatorContainer.cpp
- ${ImageCompleterDir}/ImageConst.cpp
- ${ImageCompleterDir}/ImageScalable.cpp
- ${ImageCompleterDir}/Label.cpp
- ${ImageCompleterDir}/LfnIc.cpp
- ${ImageCompleterDir}/MaskScalable.cpp
- ${ImageCompleterDir}/MaskWritable.cpp
- ${ImageCompleterDir}/NeighborEdge.cpp
- ${ImageCompleterDir}/Node.cpp
- ${ImageCompleterDir}/NodeSet.cpp
- ${ImageCompleterDir}/Pch.cpp
- ${ImageCompleterDir}/PriorityBpRunner.cpp
- ${ImageCompleterDir}/ScalableDebugging.cpp
- ${ImageCompleterDir}/Settings.cpp
- ${ImageCompleterDir}/compositors/CompositorRoot.cpp
- ${ImageCompleterDir}/compositors/CompositorUtils.cpp
- ${ImageCompleterDir}/compositors/ImageFloat.cpp
- ${ImageCompleterDir}/compositors/OutputBlenderDebugSoftMaskIntensity.cpp
- ${ImageCompleterDir}/compositors/OutputBlenderSoftMask.cpp
- ${ImageCompleterDir}/compositors/OutputBlenderNone.cpp
- ${ImageCompleterDir}/compositors/PatchBlenderNone.cpp
- ${ImageCompleterDir}/compositors/PatchBlenderPriority.cpp
- ${ImageCompleterDir}/compositors/PatchTypeDebugPatchOrder.cpp
- ${ImageCompleterDir}/compositors/PatchTypeNormal.cpp
- ${ImageCompleterDir}/energy-calculators/EnergyCalculatorFft.cpp
- ${ImageCompleterDir}/energy-calculators/EnergyCalculatorFftUtils.cpp
- ${ImageCompleterDir}/energy-calculators/EnergyCalculatorPerPixel.cpp
- )
- add_library(ImageCompleterLib ${ImageCompleterSources})
- add_library(Tech
- ${tech}/Pch.cpp
- ${tech}/tech/Atomic.cpp
- ${tech}/tech/Core.cpp
- ${tech}/tech/ImageUtils.cpp
- ${tech}/tech/Profile.cpp
- ${tech}/tech/StrUtils.cpp
- ${tech}/tech/Time.cpp
- )
- #####################################
- set(AppSources
- ${cmdsrc}/Main.cpp
- ${cmdsrc}/CommandLineOptions.cpp
- ${cmdsrc}/Pch.cpp
- ${cmdsrc}/SettingsText.cpp
- )
- set(LibrariesToLink ${wxWidgets_LIBRARIES} Tech ImageCompleterLib)
- IF(USE_ITK)
- message("using ITK")
- find_package(ITK REQUIRED)
- include(${ITK_USE_FILE})
- set(MainAppSources ${AppSources}
- ${cmdsrc}/AppITKImage.cpp
- ${cmdsrc}/AppITKMask.cpp
- )
- set(LibrariesToLink ${LibrariesToLink} ${ITK_LIBRARIES})
- else(USE_ITK)
- message("using wx")
- set(MainAppSources ${AppSources}
- ${cmdsrc}/AppWxImage.cpp
- ${cmdsrc}/AppWxMask.cpp
- )
- ENDIF(USE_ITK)
- #
- # add_executable(ImageCompleter ${MainAppSources})
- # target_link_libraries(ImageCompleter ${LibrariesToLink})
- # message("Main build definitions: " ${MAIN_BUILD_DEFINITIONS})
- # set_target_properties(ImageCompleter PROPERTIES COMPILE_DEFINITIONS "${MAIN_BUILD_DEFINITIONS}")
- # # Special builds
- add_executable(ImageCompleter1f ${AppSources} ${cmdsrc}/AppITKImage.cpp ${cmdsrc}/AppITKMask.cpp)
- target_link_libraries(ImageCompleter1f ${LibrariesToLink})
- set(my_definitions "EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET\; UNIX\; USE_ITK\; USE_FLOAT_PIXELS\; PIXEL_DIMENSION=1")
- message("my definitions: " ${my_definitions})
- set_target_properties(ImageCompleter1f PROPERTIES COMPILE_DEFINITIONS ${my_definitions})
- #
- # add_executable(ImageCompleter3uc ${AppSources} ${cmdsrc}/AppITKImage.cpp ${cmdsrc}/AppITKMask.cpp)
- # target_link_libraries(ImageCompleter3uc ${LibrariesToLink})
- # set_target_properties(ImageCompleter3uc PROPERTIES COMPILE_FLAGS "-DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET -DUNIX -DUSE_ITK -DPIXEL_DIMENSION=3")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement