]> git.lyx.org Git - lyx.git/blobdiff - development/cmake/modules/LyXMacros.cmake
Cmake build:
[lyx.git] / development / cmake / modules / LyXMacros.cmake
index e3de37c02ca39330e5e5b5abdbac03f03ceb257c..816112eb544f9f54c3ad1dccd7f7ec3007be89f7 100644 (file)
@@ -108,7 +108,7 @@ macro(LYX_AUTOMOC)
                                        #set(_moc ${_abs_PATH}/${_current_MOC})
                                        add_custom_command(OUTPUT ${_moc}
                                                          COMMAND ${QT_MOC_EXECUTABLE}
-                                                         ARGS ${_def} ${_moc_INCS} ${_header} -o ${_moc}
+                                                         ARGS "-DQT_VERSION=${QT4_VERSION}" ${_def} ${_moc_INCS} ${_header} -o ${_moc}
                                                          MAIN_DEPENDENCY ${_header})
                                        macro_add_file_dependencies(${_abs_FILE} ${_moc})
                                        SET_SOURCE_FILES_PROPERTIES(${_moc} GENERATED)
@@ -229,13 +229,27 @@ macro(lyx_qt_resources_file _qrc_name _to_dir _list)
                file(APPEND  ${_qrc_name} "</qresource>\n")
                file(APPEND  ${_qrc_name} "</RCC>\n")
        endif()
+       if(NOT WIN32)
+         add_custom_command(
+           OUTPUT ${_qrc_name}
+           COMMAND ${CMAKE_COMMAND} --build "${CMAKE_BINARY_DIR}" --target rebuild_cache
+           )
+       endif()
+
 endmacro(lyx_qt_resources_file)
 
 
+macro(LYX_OPTION_INIT)
+       set(LYX_OPTIONS)
+endmacro()
+
+
 macro(LYX_OPTION _name _description _default _sys)
        set(_msg OFF)
        if(${_sys} MATCHES "GCC")
                set(_system CMAKE_COMPILER_IS_GNUCXX)
+       elseif(${_sys} MATCHES "MAC")
+               set(_system APPLE)
        else()
                set(_system ${_sys})
        endif()
@@ -248,11 +262,42 @@ macro(LYX_OPTION _name _description _default _sys)
                        set(_msg ON)
                endif()
        endif()
-       if(_msg)
-               string(SUBSTRING "LYX_${_name}                            " 0 25 _var)
-               string(SUBSTRING "${LYX_${_name}}     " 0 4 _val)
-               message(STATUS "${_var}: ${_val}   (${_description})")
+       list(APPEND LYX_OPTIONS LYX_${_name})
+       set(LYX_${_name}_description ${_description})
+       set(LYX_${_name}_show_message ${_msg})
+endmacro()
+
+
+macro(LYX_OPTION_LIST_ALL)
+       if(UNIX)
+               set(run_cmake ${CMAKE_BINARY_DIR}/run_cmake.sh)
+               file(WRITE ${run_cmake} "#!/bin/bash \n")
+               execute_process(COMMAND chmod 755 ${run_cmake})
+               set(cont "\\\n")
+       elseif(WIN32)
+               set(run_cmake ${CMAKE_BINARY_DIR}/run_cmake.bat)
+               file(WRITE ${run_cmake} "")
+               set(cont "<nul ^\n")
        endif()
+       file(APPEND ${run_cmake} "cmake ${CMAKE_SOURCE_DIR}  ${cont}")
+       file(APPEND ${run_cmake} " -G\"${CMAKE_GENERATOR}\"  ${cont}")
+       foreach(_option ${LYX_OPTIONS})
+               if(${_option}_show_message OR ${ARGV0} STREQUAL "help")
+                       string(SUBSTRING "${_option}                            " 0 25 _var)
+                       if(${_option})
+                               set(_isset ON)
+                       else()
+                               set(_isset OFF)
+                       endif()
+                       string(SUBSTRING "${_isset}     " 0 4 _val)
+                       message(STATUS "${_var}= ${_val}   : ${${_option}_description}")
+                       file(APPEND ${run_cmake} " -D${_option}=${${_option}}  ${cont}")
+               endif()
+       endforeach()
+       file(APPEND ${run_cmake} "\n")
+       message(STATUS)
+       message(STATUS "CMake command with options is available in shell script")
+       message(STATUS "    '${run_cmake}'")
 endmacro()
 
 macro(lyx_add_info_files group)