mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-11 07:56:08 -06:00
107 lines
4.6 KiB
CMake
107 lines
4.6 KiB
CMake
# mkoctfile -I../../QtInstall/Qt-4.7.3/include/QtNetwork -I../../QtInstall/Qt-4.7.3/include/QtCore -I../../QtInstall/Qt-4.7.3/include -L../../QtInstall/Qt-4.7.3/lib -lQtCore -lQtNetwork getEclipseProperty.cpp
|
|
|
|
set(CPP_SOURCES
|
|
riGetActiveCellProperty.cpp
|
|
riSetActiveCellProperty.cpp
|
|
riGetActiveCellInfo.cpp
|
|
riGetMainGridDimensions.cpp
|
|
)
|
|
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
set(RPATH_COMMAND "-Wl,-rpath=${RESINSIGHT_FINAL_INSTALL_PATH} -Wl,-rpath=.")
|
|
endif()
|
|
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
set (QT_LIBRARY_POSTFIX 4)
|
|
endif()
|
|
|
|
set(OCTAVE_BINARY_OCT_FILES)
|
|
|
|
# On Windows, the Octave plugins are compiled using 32-bit VS2010
|
|
# To be able to do so, we need to establish all Qt-related variables for a 32-bit configuration
|
|
# In addition, VS2010 32-bit compile environment must be launched
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND CMAKE_CL_64)
|
|
find_program(32BIT_QMAKE 32bitqmake)
|
|
if(32BIT_QMAKE)
|
|
get_filename_component(32BIT_QMAKE_PATH ${32BIT_QMAKE} PATH) # Get path to 32-bit Qt binary directory
|
|
STRING(REPLACE "/bin" "" OCTAVE_QT_ROOT ${32BIT_QMAKE_PATH})
|
|
|
|
SET(OCTAVE_QT_INCLUDE_DIR ${OCTAVE_QT_ROOT}/include)
|
|
SET(OCTAVE_QT_QTCORE_INCLUDE_DIR ${OCTAVE_QT_ROOT}/include/QtCore)
|
|
SET(OCTAVE_QT_QTNETWORK_INCLUDE_DIR ${OCTAVE_QT_ROOT}/include/QtNetwork)
|
|
SET(OCTAVE_QT_LIBRARY_DIR ${OCTAVE_QT_ROOT}/lib)
|
|
endif()
|
|
else()
|
|
SET(OCTAVE_QT_INCLUDE_DIR ${QT_INCLUDE_DIR})
|
|
SET(OCTAVE_QT_QTCORE_INCLUDE_DIR ${QT_QTCORE_INCLUDE_DIR})
|
|
SET(OCTAVE_QT_QTNETWORK_INCLUDE_DIR ${QT_QTNETWORK_INCLUDE_DIR})
|
|
SET(OCTAVE_QT_LIBRARY_DIR ${QT_LIBRARY_DIR})
|
|
endif()
|
|
|
|
|
|
find_program(MKOCTFILE_EXECUTABLE mkoctfile)
|
|
if(NOT MKOCTFILE_EXECUTABLE)
|
|
message(WARNING "Failed to find mkoctfile")
|
|
else()
|
|
|
|
# Get path to Octave binary directory to be able to build .oct files if Octave is not in path
|
|
get_filename_component(OCTAVE_PATH ${MKOCTFILE_EXECUTABLE} PATH)
|
|
|
|
foreach(srcFileName IN LISTS CPP_SOURCES)
|
|
|
|
if(NOT IS_ABSOLUTE "${srcFileName}")
|
|
set(srcFileName "${CMAKE_CURRENT_SOURCE_DIR}/${srcFileName}")
|
|
endif()
|
|
|
|
get_filename_component(baseFilename "${srcFileName}" NAME_WE)
|
|
|
|
set(octFileName "${CMAKE_CURRENT_BINARY_DIR}/${baseFilename}.oct")
|
|
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
if (CMAKE_CL_64)
|
|
# The following line calls the build configuration for x86 VS2010 compiler
|
|
# call "\"%VS100COMNTOOLS%../../VC/vcvarsall.bat\"" x86
|
|
add_custom_command(
|
|
OUTPUT "${octFileName}"
|
|
COMMAND call "\"%VS100COMNTOOLS%../../VC/vcvarsall.bat\"" x86
|
|
COMMAND ${CMAKE_COMMAND} ARGS -E chdir ${OCTAVE_PATH} ${MKOCTFILE_EXECUTABLE} -I${OCTAVE_QT_QTNETWORK_INCLUDE_DIR}
|
|
-I${OCTAVE_QT_QTCORE_INCLUDE_DIR} -I${OCTAVE_QT_INCLUDE_DIR} ${RPATH_COMMAND}
|
|
-L${OCTAVE_QT_LIBRARY_DIR} -lQtCore${QT_LIBRARY_POSTFIX} -lQtNetwork${QT_LIBRARY_POSTFIX} -o "${octFileName}" "${srcFileName}"
|
|
DEPENDS "${srcFileName}"
|
|
COMMENT "Generating ${octFileName}"
|
|
)
|
|
else()
|
|
add_custom_command(
|
|
OUTPUT "${octFileName}"
|
|
COMMAND ${CMAKE_COMMAND} ARGS -E chdir ${OCTAVE_PATH} ${MKOCTFILE_EXECUTABLE} -I${OCTAVE_QT_QTNETWORK_INCLUDE_DIR}
|
|
-I${OCTAVE_QT_QTCORE_INCLUDE_DIR} -I${OCTAVE_QT_INCLUDE_DIR} ${RPATH_COMMAND}
|
|
-L${OCTAVE_QT_LIBRARY_DIR} -lQtCore${QT_LIBRARY_POSTFIX} -lQtNetwork${QT_LIBRARY_POSTFIX} -o "${octFileName}" "${srcFileName}"
|
|
DEPENDS "${srcFileName}"
|
|
COMMENT "Generating ${octFileName}"
|
|
)
|
|
endif()
|
|
else()
|
|
add_custom_command(
|
|
OUTPUT "${octFileName}"
|
|
COMMAND ${MKOCTFILE_EXECUTABLE} -I${QT_QTNETWORK_INCLUDE_DIR} -I${QT_QTCORE_INCLUDE_DIR} -I${QT_INCLUDE_DIR} ${RPATH_COMMAND} -L${QT_LIBRARY_DIR} -lQtCore${QT_LIBRARY_POSTFIX} -lQtNetwork${QT_LIBRARY_POSTFIX} -o "${octFileName}" "${srcFileName}"
|
|
DEPENDS "${srcFileName}"
|
|
COMMENT "Generating ${octFileName}"
|
|
)
|
|
endif()
|
|
|
|
list(APPEND OCTAVE_BINARY_OCT_FILES "${octFileName}")
|
|
|
|
endforeach()
|
|
|
|
add_custom_target(octave_plugins ALL DEPENDS
|
|
"${CMAKE_CURRENT_BINARY_DIR}/riGetActiveCellProperty.oct"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/riSetActiveCellProperty.oct"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/riGetActiveCellInfo.oct"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/riGetMainGridDimensions.oct"
|
|
|
|
SOURCES ${CPP_SOURCES}
|
|
)
|
|
endif()
|
|
|
|
install(FILES ${OCTAVE_BINARY_OCT_FILES} DESTINATION ${RESINSIGHT_FINAL_NAME})
|