9db3116226
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
108 lines
2.5 KiB
CMake
108 lines
2.5 KiB
CMake
#
|
|
# Wrapping
|
|
#
|
|
cmake_minimum_required (VERSION 2.6)
|
|
project (Wrapping)
|
|
|
|
# Disable cleaning of custom command outputs to preserve the hacks
|
|
# used to generate the files using CONFIGURE_FILE.
|
|
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1)
|
|
|
|
#
|
|
# Lib and exe path
|
|
#
|
|
set (LIBRARY_OUTPUT_PATH
|
|
${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
|
|
"Single output directory for building all libraries.")
|
|
|
|
set (EXECUTABLE_OUTPUT_PATH
|
|
${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
|
|
"Single output directory for building all executables.")
|
|
|
|
#
|
|
# Where will executable tests be written ?
|
|
#
|
|
if (EXECUTABLE_OUTPUT_PATH)
|
|
set (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
|
|
else ()
|
|
set (CXX_TEST_PATH .)
|
|
endif ()
|
|
|
|
#
|
|
# Add exe
|
|
#
|
|
add_executable (wrapping wrapping.cxx)
|
|
|
|
add_executable (Wrap Wrap.c)
|
|
if(WIN32)
|
|
set(EXE_EXT ".exe")
|
|
endif()
|
|
set(WRAP ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/Wrap${EXE_EXT})
|
|
|
|
#
|
|
# QT Wrappers
|
|
#
|
|
|
|
set (QT_WRAP_CPP "On")
|
|
set (QT_MOC_EXE "echo")
|
|
include( FindQt3 )
|
|
|
|
if (QT_FOUND AND QT_WRAP_UI)
|
|
message("found qt 3 test it...")
|
|
include_directories( ${QT_INCLUDE_DIR} )
|
|
include_directories( ${CMAKE_CURRENT_BINARY_DIR} )
|
|
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/foo.ui.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/foo.ui IMMEDIATE)
|
|
|
|
set (QT_WRAP_UI "On")
|
|
set (QT_UIC_EXE "${QT_UIC_EXECUTABLE}")
|
|
|
|
|
|
set (QTUI_SRCS
|
|
qtwrapping.ui
|
|
${CMAKE_CURRENT_BINARY_DIR}/foo.ui
|
|
)
|
|
qt_wrap_ui (myqtlib QTUI_H_SRCS QTUI_S_SRCS ${QTUI_SRCS})
|
|
qt_wrap_cpp (myqtlib QT_MOC_SRCS ${SRCS} vtkTestMoc.h)
|
|
|
|
message("QT files are ${QTUI_S_SRCS}")
|
|
message("QT other files are ${QTUI_H_SRCS}")
|
|
add_definitions(${QT_DEFINITIONS})
|
|
add_library(myqtlib ${QTUI_S_SRCS} ${QT_MOC_SRCS})
|
|
add_executable (qtwrapping qtwrappingmain.cxx)
|
|
target_link_libraries(qtwrapping myqtlib)
|
|
|
|
target_link_libraries( qtwrapping ${QT_LIBRARIES} )
|
|
else ()
|
|
add_executable (qtwrapping qtnoqtmain.cxx)
|
|
endif ()
|
|
|
|
#
|
|
# FLTK Wrappers
|
|
#
|
|
# Since FLTK_FLUID_EXE is supposed to create a .cxx/.h from a .fl/.fld,
|
|
# create an empty one so that the dependencies can be met.
|
|
#
|
|
set (FLTK_SRCS
|
|
fltk1.fl
|
|
)
|
|
add_executable(fakefluid fakefluid.cxx)
|
|
get_target_property(FLUID_LOC fakefluid LOCATION)
|
|
set (FLTK_WRAP_UI "On")
|
|
set (FLTK_FLUID_EXECUTABLE "${FLUID_LOC}")
|
|
fltk_wrap_ui (wraplibFLTK ${FLTK_SRCS})
|
|
add_library(wraplibFLTK ${wraplibFLTK_FLTK_UI_SRCS})
|
|
add_dependencies(wraplibFLTK fakefluid)
|
|
add_dependencies(fakefluid Wrap)
|
|
#
|
|
# Mangled Mesa
|
|
#
|
|
configure_file(
|
|
${Wrapping_SOURCE_DIR}/dummy
|
|
${Wrapping_BINARY_DIR}/gl.h
|
|
COPYONLY IMMEDIATE)
|
|
use_mangled_mesa (${Wrapping_BINARY_DIR} ${Wrapping_BINARY_DIR}/mangled_mesa)
|
|
|