#----------------------------------------------------------------------------- FIND_PACKAGE(VTK) IF (VTK_FOUND) INCLUDE(${VTK_USE_FILE}) ELSE(VTK_FOUND) MESSAGE(FATAL_ERROR "Cannot build without VTK. Please set VTK_DIR.") ENDIF (VTK_FOUND) #----------------------------------------------------------------------------- SET (EXECUTABLE_OUTPUT_PATH ${SimpleApp_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.") SET (LIBRARY_OUTPUT_PATH ${SimpleApp_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries.") MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) #----------------------------------------------------------------------------- SET(WXWINDOWS_USE_GL 1) #When http://www.cmake.org/pipermail/cmake/2003-September/004263.html #will be solved VTK + wxWindows would hopefully fully collaborate ! FIND_PACKAGE(wxWindows) IF ( CMAKE_WX_CAN_COMPILE ) IF(WXWINDOWS_INCLUDE_DIR) INCLUDE_DIRECTORIES(${WXWINDOWS_INCLUDE_DIR}) #ELSE(WXWINDOWS_INCLUDE_DIR) # #We'll use CMakeWxWindows made by Andy... # FIND_PATH(WX_BINARY_PATH UseWX.cmake) # SET(USE_BUILT_WX 1) ENDIF(WXWINDOWS_INCLUDE_DIR) #include stuff in all cases #IF(WX_BINARY_PATH) # INCLUDE(${WX_BINARY_PATH}/UseWX.cmake) #ENDIF(WX_BINARY_PATH) IF(CMAKE_WX_CXX_FLAGS) SET(CMAKE_CXX_FLAGS "${CMAKE_WX_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") ENDIF(CMAKE_WX_CXX_FLAGS) #----------------------------------------------------------------------------- IF(WIN32) SET(GUI_EXECUTABLE WIN32) ENDIF(WIN32) IF(APPLE) SET(GUI_EXECUTABLE MACOSX_BUNDLE) IF(VTK_USE_COCOA) SET_SOURCE_FILES_PROPERTIES( wxVTKRenderWindowInteractor.cpp PROPERTIES COMPILE_FLAGS "-ObjC++") ENDIF(VTK_USE_COCOA) ENDIF(APPLE) #----------------------------------------------------------------------------- IF(VTK_USE_X) # Is this always true, do we really need gtk all the time ? #I don't like also the way CMake search GTK, provide my own: #INCLUDE(${SimpleApp_SOURCE_DIR}/Modules/FindGTK.cmake) #IF(GTK_FOUND) # SET(CMAKE_CXX_FLAGS "${CMAKE_GTK_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") #ENDIF(GTK_FOUND) FIND_PROGRAM(CMAKE_PKG_CONFIG pkg-config ../gtk/bin ../../gtk/bin) IF(CMAKE_PKG_CONFIG) SET(CMAKE_GTK_CXX_FLAGS "`${CMAKE_PKG_CONFIG} --cflags gtk+-2.0`") SET(GTK_LIBRARIES "`${CMAKE_PKG_CONFIG} --libs gtk+-2.0`") SET(CMAKE_CXX_FLAGS "${CMAKE_GTK_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") ELSE(CMAKE_PKG_CONFIG) FIND_PROGRAM(CMAKE_GTK_CONFIG gtk-config ../gtk/bin ../../gtk/bin) IF(CMAKE_GTK_CONFIG) SET(CMAKE_GTK_CXX_FLAGS "`${CMAKE_GTK_CONFIG} --cxxflags`") SET(GTK_LIBRARIES "`${CMAKE_GTK_CONFIG} --libs`") SET(CMAKE_CXX_FLAGS "${CMAKE_GTK_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") ELSE(CMAKE_GTK_CONFIG) # DOH ! We need to default to CMake's modules FIND_PACKAGE(GTK) INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR}) ENDIF(CMAKE_GTK_CONFIG) ENDIF(CMAKE_PKG_CONFIG) ENDIF(VTK_USE_X) #----------------------------------------------------------------------------- FILE(GLOB SOURCE_FILES *.cpp) FILE(GLOB INCLUDE_FILES *.h) LINK_LIBRARIES( vtkIO vtkHybrid vtkCommon vtkGraphics vtkRendering ${WXWINDOWS_LIBRARY} Basics Math Modeling State StateClient ) ADD_EXECUTABLE(SimpleApp ${GUI_EXECUTABLE} ${SOURCE_FILES} ../MinimalistApp/ParentModel.cpp ../MinimalistApp/MechanicalSubsystem.cpp ../MinimalistApp/ForceSubsystem.cpp) INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/Basics/InterfaceHeaders ${PROJECT_SOURCE_DIR}/Math/InterfaceHeaders ${PROJECT_SOURCE_DIR}/State/InterfaceHeaders ${PROJECT_SOURCE_DIR}/StateClient/InterfaceHeaders ${PROJECT_SOURCE_DIR}/Modeling/InterfaceHeaders ${PROJECT_SOURCE_DIR}/MinimalistApp) ELSE ( CMAKE_WX_CAN_COMPILE ) MESSAGE("Cannot find wxWindows libraries and/or header files") ENDIF ( CMAKE_WX_CAN_COMPILE )