# HG changeset patch # User SokoL_SD # Date 1242290164 0 # Node ID b8a79f9fba5abb98ac6e25c20f3384ed6a6736cd # Parent 374a61671448966b4517f5f783c9f9477240e54b More fixes and cleanups in CMake build script. diff -r 374a61671448 -r b8a79f9fba5a CMakeLists.txt --- a/CMakeLists.txt Wed May 13 23:40:31 2009 +0000 +++ b/CMakeLists.txt Thu May 14 08:36:04 2009 +0000 @@ -2,27 +2,30 @@ PROJECT(qtd CXX C) FIND_PACKAGE(Qt4 REQUIRED) +##-------------------------------------------- +## Settings. +##-------------------------------------------- + include_directories(${QT_INCLUDES} include ${CMAKE_CURRENT_BINARY_DIR}/include) +## Options. option(BUILD_QT_OPENGL "Build QtOpenGL" "ON") option(BUILD_EXAMPLES "Build examples" "ON") -set(PACKAGES Core Gui) +## Packages list. +set(packages_big Core Gui) if(BUILD_QT_OPENGL) - set(PACKAGES ${PACKAGES} OpenGL) + set(packages_big ${packages_big} OpenGL) endif(BUILD_QT_OPENGL) -set(packages_big ${PACKAGES}) set(packages) foreach(package ${packages_big}) string(TOLOWER ${package} package) set(packages ${packages} ${package}) endforeach(package ${packages_big}) -#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY CMakeFiles) - +## Find D compiler and parsing its version. find_program(DC dmd ldc) -## Parsing D compiler version. if (DC) exec_program(${DC} ARGS "" OUTPUT_VARIABLE d_output) string(REGEX MATCH "Digital Mars D Compiler v[0-9]\\.[0-9]+" dmd_version "${d_output}") @@ -54,6 +57,12 @@ message(FATAL_ERROR "D compliler not founded") endif (DC) +if(D_IS_MARS) + option(COMBINED_OBJECT_FILE "Build all d sources to one object file" "ON") +elseif(D_IS_LLVM) + option(COMBINED_OBJECT_FILE "Build all d sources to one object file" "OFF") +endif(D_IS_MARS) + # Check D compiler version if(D_VERSION EQUAL "1") if (D_FRONTEND LESS "041") @@ -64,12 +73,6 @@ set(D_TARGET ) ## TODO: hm... I don`t known this parameter for D2 ^( endif(D_VERSION EQUAL "1") -if(D_IS_MARS) - set(SEPARETLY_D_OBJECTS true) -elseif(D_IS_LLVM) - set(SEPARETLY_D_OBJECTS true) -endif(D_IS_MARS) - # Debug and release flags. if (${CMAKE_BUILD_TYPE} MATCHES [dD][eE][bB][uU][gG]) #set(CMAKE_BUILD_TYPE Debug) @@ -86,16 +89,10 @@ endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) endif (${CMAKE_BUILD_TYPE} MATCHES [dD][eE][bB][uU][gG]) set(D_FLAGS ${D_FLAGS} -I${CMAKE_BINARY_DIR} -I${CMAKE_SOURCE_DIR}) +if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL Windows AND NOT D_IS_MARS) + set(D_FLAGS ${D_FLAGS} -L-L${CMAKE_BINARY_DIR}/lib) +endif(NOT ${CMAKE_SYSTEM_NAME} STREQUAL Windows AND NOT D_IS_MARS) -MACRO(MAKE_WINDOWS_PATH pathname) - if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) - # An extra \\ escape is necessary to get a \ through CMake's processing. - STRING(REPLACE "/" "\\" ${pathname} "${${pathname}}") - # Enclose with UNESCAPED quotes. This means we need to escape our - # quotes once here, i.e. with \" - SET(${pathname} \"${${pathname}}\") - endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) -ENDMACRO(MAKE_WINDOWS_PATH) if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) set(implib implib) @@ -113,6 +110,7 @@ endif(D_IS_MARS) set(GEN_OPT ${GEN_OPT} --cpp_shared) add_definitions(-DCPP_SHARED) + string(REGEX REPLACE ".dll([A-Za-z\\.0-9]+)" "\\1" CMAKE_IMPORT_LIBRARY_SUFFIX "${CMAKE_IMPORT_LIBRARY_SUFFIX}") elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux) set(D_LIB_SUFFIX .a) set(D_LIB_PREFIX lib) @@ -122,8 +120,36 @@ set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ./) set(GEN_OPT ${GEN_OPT} --d-target=${D_TARGET}) -add_subdirectory(generator) +##-------------------------------------------- +## Macroses and functions. +##-------------------------------------------- +## Make native path. +## Usage: +## set(path c:/file_path/file_name.cpp) +## make_native_path(path) +## message(STATUS ${path}) +## Output: +## -- "c:\file_path\file_name.cpp" +## Command "file(TO_NATIVE_PATH ...)" is wrong on Windows +macro(MAKE_NATIVE_PATH pathname) + if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) + # An extra \\ escape is necessary to get a \ through CMake's processing. + string(REPLACE "/" "\\" ${pathname} "${${pathname}}") + # Enclose with UNESCAPED quotes. This means we need to escape our + # quotes once here, i.e. with \" + set(${pathname} \"${${pathname}}\") + endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) +endmacro(MAKE_NATIVE_PATH) + +## Remove unnecessary travel to the object file. +## path -- path to object file. +## Example: +## set(path ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/target.dir/main.d.obj) +## obj_path(path) +## message(STATUS ${path}) +## Example output: +## -- CMakeFiles/target.dir/main.d.obj macro(OBJ_PATH path) unset(test) string(REGEX MATCH "${CMAKE_CURRENT_BINARY_DIR}/.*" test "${${path}}") @@ -145,36 +171,46 @@ endif(NOT ${test} EQUAL "") endmacro(OBJ_PATH) + +## Compile d files. +## target -- name of a new target. +## objects_list -- created object files. +## params -- sources files. macro(compile_d_files target objects_list) unset(${objects_list}) set(tmp_dir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${target}.dir) file(MAKE_DIRECTORY ${tmp_dir}) - if(${SEPARETLY_D_OBJECTS}) - foreach (d_source ${ARGN}) - OBJ_PATH(d_source) + if(NOT COMBINED_OBJECT_FILE) + foreach (d_source_p ${ARGN}) + ## TODO: why find_file command work wrong? + find_file(d_source_p ${d_source_p} PATHS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}) + set (d_source ${d_source_p}) + obj_path(d_source) set(d_obj ${tmp_dir}/${d_source}${D_OBJECT_SUFFIX}) - set(${objects_list} ${${objects_list} ${d_obj}) + set(${objects_list} ${${objects_list}} ${d_obj}) get_filename_component(path ${d_obj} PATH) file(MAKE_DIRECTORY ${path}) set(d_obj_out ${d_obj}) - OBJ_PATH(d_obj_out) + obj_path(d_obj_out) add_custom_command(OUTPUT "${d_obj}" COMMAND "${DC}" - ARGS ${D_FLAGS} -c ${d_source} -of${d_obj} + ARGS ${D_FLAGS} -c ${d_source_p} -of${d_obj} COMMENT "Building ${d_obj_out}" - DEPENDS ${d_source} + DEPENDS ${d_source_p} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - endforeach(d_source) - else(${SEPARETLY_D_OBJECTS}) + endforeach(d_source_p) + else(NOT COMBINED_OBJECT_FILE) set(${objects_list} ${tmp_dir}/${target}${D_OBJECT_SUFFIX}) set(d_obj_out ${${objects_list}}) - OBJ_PATH(d_obj_out) + obj_path(d_obj_out) set(parameters_list_file ${tmp_dir}/parameters) - SET (parameters ${D_FLAGS} -c ${ARGN} -of${${objects_list}}) - FILE (REMOVE ${parameters_list_file}) - FOREACH(arg ${parameters}) - FILE (APPEND ${parameters_list_file} "${arg}\n") - ENDFOREACH(arg) + set(parameters ${D_FLAGS} -c ${ARGN} -of${${objects_list}}) + file(REMOVE ${parameters_list_file}) + foreach(arg ${parameters}) + file(APPEND ${parameters_list_file} "${arg}\n") + endforeach(arg) add_custom_command(OUTPUT "${${objects_list}}" COMMAND "${DC}" ARGS @${parameters_list_file} @@ -182,138 +218,18 @@ DEPENDS ${ARGN} COMMENT "" ) - endif(${SEPARETLY_D_OBJECTS}) + endif(NOT COMBINED_OBJECT_FILE) + add_custom_target(${target} DEPENDS "${${objects_list}}") endmacro(compile_d_files objects_list) -file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -add_custom_target(allpackages ALL) - -link_directories(${CMAKE_BINARY_DIR}/CMakeFiles) - -foreach(package ${packages}) - unset(d_objs) - unset(cpp_objs) - unset(d_sources) - unset(cpp_sources) - unset(lib_name) - unset(link_cpp) - unset(link_d) - unset(cpp_files) - unset(d_files) - unset(classes) - unset(d_generated_files) - - include (${CMAKE_SOURCE_DIR}/build/${package}.txt) - - set(${package}_link_example "${link_example}") - set(${link_example} "") - - set(CUR_TMP_PATH CMakeFiles/${package}.dir) - - set(classes ArrayOps ${classes}) - foreach(class ${classes}) - set(d_sources ${d_sources} ${CMAKE_BINARY_DIR}/qt/${package}/${class}.d) - set(cpp_sources ${cpp_sources} ${CMAKE_BINARY_DIR}/cpp/qt_${package}/${class}_shell.cpp) - endforeach(class) - add_sources_for_generating(${cpp_sources}) - - foreach(d_source ${d_files}) - set(d_sources ${d_sources} ${CMAKE_SOURCE_DIR}/qt/${d_source}.d) - endforeach(d_source) - foreach(d_source ${d_generated_files}) - set(d_sources ${d_sources} ${CMAKE_BINARY_DIR}/qt/${d_source}.d) - endforeach(d_source) - foreach (cpp_source ${cpp_files}) - set(cpp_sources ${cpp_sources} ${CMAKE_SOURCE_DIR}/cpp/${cpp_source}.cpp) - endforeach(cpp_source) - - compile_d_files(${package}_dobjs objects ${d_sources}) - set(d_objs ${d_objs} ${objects}) - - set(lib_name ${D_LIB_PREFIX}qtd${package}${D_LIB_SUFFIX}) - - add_library(cpp_${package} SHARED ${cpp_sources}) - add_dependencies(cpp_${package} dgen) - if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) - set_property(TARGET cpp_${package} PROPERTY RUNTIME_OUTPUT_DIRECTORY lib) - set_property(TARGET cpp_${package} PROPERTY ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles) - ADD_CUSTOM_COMMAND( - TARGET cpp_${package} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E remove - ${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_IMPORT_LIBRARY_PREFIX}cpp${package}${CMAKE_IMPORT_LIBRARY_SUFFIX} - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_IMPORT_LIBRARY_PREFIX}cpp_${package}.dll${CMAKE_IMPORT_LIBRARY_SUFFIX} - ${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_IMPORT_LIBRARY_PREFIX}cpp${package}${CMAKE_IMPORT_LIBRARY_SUFFIX} - ) - - target_link_libraries(cpp_${package} ${link_cpp} ) - set(cpp_lib ${CMAKE_BINARY_DIR}/lib/libcpp_${package}.dll) - set(cpp_lib_native ${cpp_lib}) - MAKE_WINDOWS_PATH(cpp_lib_native) - set(d_implib ${CMAKE_BINARY_DIR}/CMakeFiles/${package}.dir/cpp_${package}.lib) - set(d_implib_native ${d_implib}) - MAKE_WINDOWS_PATH(d_implib_native) - set(cpp_${package}_implib cpp${package}) - add_custom_command( - OUTPUT "${d_implib}" - COMMAND "${IMPLIB}" - ARGS /system /PAGESIZE:32 ${d_implib_native} ${cpp_lib_native} - DEPENDS "cpp_${package}" - COMMENT "Creating implib ${lib_name}" - ) - add_custom_command( - OUTPUT "${lib_name}" - COMMAND "${DC}" - ARGS -lib ${d_objs} ${d_implib} -oflib/${lib_name} - DEPENDS ${d_objs} ${d_implib} - COMMENT "Linking ${lib_name}" - ) - else(${CMAKE_SYSTEM_NAME} STREQUAL Linux) - set_property(TARGET cpp_${package} PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles) - foreach(cpp_source ${cpp_sources}) - set(cpp_source ${cpp_source}) - OBJ_PATH(cpp_source) - set(cpp_objs ${cpp_objs} CMakeFiles/cpp_${package}.dir/${cpp_source}.o) - endforeach(cpp_source) - - add_custom_command( - OUTPUT "${lib_name}" - COMMAND "${CMAKE_AR}" - ARGS rcs lib/${lib_name} ${d_objs} ${cpp_objs} - DEPENDS ${d_objs} cpp_${package} - COMMENT "Linking ${lib_name}" - ) - endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) - add_custom_target(${package} DEPENDS ${lib_name}) - foreach(depend ${depends}) - add_dependencies(cpp_${package} cpp_${depend}) - add_dependencies(${package} ${depend}) - endforeach(depend ${depends}) - add_dependencies(allpackages ${package}) - set(depends ${depends} ${package}) -endforeach(package) - -foreach(package_big ${packages_big}) - string(TOLOWER ${package_big} package) - if(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) - set(libs_path ${CMAKE_BINARY_DIR}/lib/qtd${package}.lib) - MAKE_WINDOWS_PATH(libs_path) - set(${package}_lib_param -L+${libs_path}) - foreach(link ${${package}_link_example}) - set(link ${CMAKE_SOURCE_DIR}/lib/${link}.lib) - MAKE_WINDOWS_PATH(link) - set(link -L+${link}) - set(${package}_lib_param ${${package}_lib_param} ${link}) - endforeach(link ${link_example}) - else (${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) - set(${package}_lib_param -L-lqtd${package} -L-lQt${package_big}) - foreach(link ${link_example}) - set(${package}_lib_param ${${package}_lib_param} ${link}) - endforeach(link ${link_example}) - endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) -endforeach(package_big ${packages_big}) - +## Build example macro. +## name -- example name. +## Options: +## PACKAGES -- list of packages to link to exaple (for example, QtCore QtGui QtOpenGL). +## Default value is "QtCore QtGui". +## params -- sources d files. +## Usage: +## build_example(ExampleName PACKAGES QtCore QtGui QtXml main.d another_d_file.d) macro(build_example name) unset(is_sources) unset(is_libs) @@ -354,15 +270,19 @@ endif(is_sources) endif(NOT is_libs) endforeach(param ${ARGN}) - if(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) - set(libs_path ) - else(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) - set(libs_path -L-L${CMAKE_BINARY_DIR}/lib) - endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) compile_d_files(${name}_dobjs objects ${sources} ) set(output ${CMAKE_CURRENT_BINARY_DIR}/${name}${CMAKE_EXECUTABLE_SUFFIX}) set(output_native ${output}) - make_windows_path(output_native) + make_native_path(output_native) + ## Bug fix: Reverse libs for ldc. + if(D_IS_LLVM) + set(qtd_libs_tmp ${qtd_libs}) + unset(qtd_libs) + foreach(libs ${qtd_libs_tmp}) + set(qtd_libs ${libs} ${qtd_libs}) + endforeach(libs ${qtd_libs_tmp}) + endif(D_IS_LLVM) + add_custom_command(OUTPUT "${output}" COMMAND "${DC}" ARGS ${D_FLAGS} ${libs_path} ${qtd_libs} ${objects} @@ -375,7 +295,128 @@ add_dependencies(example_${name} allpackages) endmacro(build_example sources) -if(BUILD_QT_OPENGL) +##-------------------------------------------- +## Build library. +##-------------------------------------------- +add_subdirectory(generator) +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +add_custom_target(allpackages ALL) +link_directories(${CMAKE_BINARY_DIR}/CMakeFiles) + +foreach(package_big ${packages_big}) + string(TOLOWER ${package_big} package) + ## Loading settings for package. + unset(d_objs) + unset(cpp_objs) + unset(d_sources) + unset(cpp_sources) + unset(lib_name) + unset(link_cpp) + unset(link_d) + unset(cpp_files) + unset(d_files) + unset(classes) + unset(d_generated_files) + unset(link_example) + include (${CMAKE_SOURCE_DIR}/build/${package}.txt) + + ## Loading package sources list. + foreach(d_source ${d_files}) + set(d_sources ${d_sources} ${CMAKE_SOURCE_DIR}/qt/${d_source}.d) + endforeach(d_source) + foreach(d_source ${d_generated_files}) + set(d_sources ${d_sources} ${CMAKE_BINARY_DIR}/qt/${d_source}.d) + endforeach(d_source) + foreach (cpp_source ${cpp_files}) + set(cpp_sources ${cpp_sources} ${CMAKE_SOURCE_DIR}/cpp/${cpp_source}.cpp) + endforeach(cpp_source) + set(classes ArrayOps ${classes}) + foreach(class ${classes}) + set(d_sources ${d_sources} ${CMAKE_BINARY_DIR}/qt/${package}/${class}.d) + set(cpp_sources ${cpp_sources} ${CMAKE_BINARY_DIR}/cpp/qt_${package}/${class}_shell.cpp) + endforeach(class) + add_sources_for_generating(${cpp_sources}) + + ## Link CPP library. + set(lib_name ${D_LIB_PREFIX}qtd${package}${D_LIB_SUFFIX}) + add_library(cpp_${package} SHARED ${cpp_sources}) + + ## Link D library. + compile_d_files(${package}_dobjs objects ${d_sources}) + set(d_objs ${d_objs} ${objects}) + if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) + set_property(TARGET cpp_${package} PROPERTY RUNTIME_OUTPUT_DIRECTORY lib) + set_property(TARGET cpp_${package} PROPERTY ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles) + target_link_libraries(cpp_${package} ${link_cpp} ) + set(cpp_lib ${CMAKE_BINARY_DIR}/lib/libcpp_${package}.dll) + set(cpp_lib_native ${cpp_lib}) + make_native_path(cpp_lib_native) + set(d_implib ${CMAKE_BINARY_DIR}/CMakeFiles/${package}.dir/cpp_${package}.lib) + set(d_implib_native ${d_implib}) + make_native_path(d_implib_native) + add_custom_command( + OUTPUT "${d_implib}" + COMMAND "${IMPLIB}" + ARGS /system /PAGESIZE:32 ${d_implib_native} ${cpp_lib_native} + DEPENDS "cpp_${package}" + COMMENT "Creating implib ${lib_name}" + ) + add_custom_command( + OUTPUT "${lib_name}" + COMMAND "${DC}" + ARGS -lib ${d_objs} ${d_implib} -oflib/${lib_name} + DEPENDS ${d_objs} ${d_implib} + COMMENT "Linking ${lib_name}" + ) + else(${CMAKE_SYSTEM_NAME} STREQUAL Linux) + set_property(TARGET cpp_${package} PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles) + foreach(cpp_source ${cpp_sources}) + set(cpp_source ${cpp_source}) + obj_path(cpp_source) + set(cpp_objs ${cpp_objs} CMakeFiles/cpp_${package}.dir/${cpp_source}.o) + endforeach(cpp_source) + add_custom_command( + OUTPUT "${lib_name}" + COMMAND "${CMAKE_AR}" + ARGS rcs lib/${lib_name} ${d_objs} ${cpp_objs} + DEPENDS ${d_objs} cpp_${package} + COMMENT "Linking ${lib_name}" + ) + endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) + + ## Dependences. + add_dependencies(cpp_${package} dgen) + add_custom_target(${package} DEPENDS ${lib_name}) + foreach(depend ${depends}) + add_dependencies(cpp_${package} cpp_${depend}) + add_dependencies(${package} ${depend}) + endforeach(depend ${depends}) + add_dependencies(allpackages ${package}) + set(depends ${depends} ${package}) + + ## Paths for QtD libs. Needed by examples. + if(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) + set(libs_path ${CMAKE_BINARY_DIR}/lib/qtd${package}.lib) + make_native_path(libs_path) + set(${package}_lib_param -L+${libs_path}) + foreach(link ${link_example}) + set(link ${CMAKE_SOURCE_DIR}/lib/${link}.lib) + make_native_path(link) + set(link -L+${link}) + set(${package}_lib_param ${${package}_lib_param} ${link}) + endforeach(link ${link_example}) + else (${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) + set(${package}_lib_param -L-lqtd${package} -L-lQt${package_big}) + foreach(link ${link_example}) + set(${package}_lib_param ${${package}_lib_param} ${link}) + endforeach(link ${link_example}) + endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) +endforeach(package_big ${packages_big}) + +##-------------------------------------------- +## Build other parts of the QtD. +##-------------------------------------------- +if(BUILD_EXAMPLES) add_subdirectory(demos) add_subdirectory(examples) -endif(BUILD_QT_OPENGL) \ No newline at end of file +endif(BUILD_EXAMPLES) \ No newline at end of file diff -r 374a61671448 -r b8a79f9fba5a build/core.txt --- a/build/core.txt Wed May 13 23:40:31 2009 +0000 +++ b/build/core.txt Thu May 14 08:36:04 2009 +0000 @@ -1,14 +1,11 @@ -## Qt Lib name. -set (lib_name QtCore) ## Libraries linked to the cpp part (is active only if CPP_SHARED == true). set (link_cpp ${QT_QTCORE_LIBRARY}) -## Libraries linked to the d part (is active only if CPP_SHARED == true).. -set (link_d ) ## Module specific cpp files. set (cpp_files qt_qtd/qtd_core qt_qtd/ArrayOpsPrimitive_shell qt_core/QPoint_shell qt_core/QPointF_shell qt_core/QSize_shell qt_core/QSizeF_shell qt_core/QLine_shell qt_core/QLineF_shell + qt_core/QRect_shell qt_core/QRectF_shell qt_core/QString_shell qt_core/QVariant_shell qt_core/QModelIndex_shell) ## Module specific d files. @@ -16,6 +13,7 @@ core/QPoint core/QPointF core/QSize core/QSizeF core/QLine core/QLineF + core/QRect core/QRectF core/QString core/QVariant core/QModelIndex) set (d_generated_files core/Qt) @@ -28,13 +26,11 @@ QObject QTimerEvent QTranslator - QRect QByteArray QLocale QDataStream QMimeData QIODevice - QRectF QDateTime QDate QTime diff -r 374a61671448 -r b8a79f9fba5a build/gui.txt --- a/build/gui.txt Wed May 13 23:40:31 2009 +0000 +++ b/build/gui.txt Thu May 14 08:36:04 2009 +0000 @@ -1,20 +1,4 @@ - -## Qt Lib name. -set(lib_name QtGui) - -## Libraries linked to the cpp part (is active only if CPP_SHARED == true). -set(link_cpp ${cpp_core_implib} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) - -## Libraries linked to the d part (is active only if CPP_SHARED == true).. -set(link_d libqtdcore.a) - -## Module specific cpp files. -set(cpp_files) - -## Module specific d files. -set(d_files) - -## Classes. +set(link_cpp cpp_core ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) set(classes QPushButton QFileIconProvider diff -r 374a61671448 -r b8a79f9fba5a build/opengl.txt --- a/build/opengl.txt Wed May 13 23:40:31 2009 +0000 +++ b/build/opengl.txt Thu May 14 08:36:04 2009 +0000 @@ -1,19 +1,10 @@ -##QTD_OPENGL += opengl/QGL opengl/gl opengl/glu opengl/glfuncs opengl/gltypes - -## Qt Lib name. -set(lib_name QtOpenGL) - -set(link_cpp ${cpp_core_implib} ${cpp_gui_implib} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}) - -set(link_d qtdcore) - +set(link_cpp cpp_core cpp_gui ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}) set(classes QGLWidget QGLContext QGLFormat QGLColormap ) - if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) set(link_example opengl32 glu32) endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) diff -r 374a61671448 -r b8a79f9fba5a build/svg.txt --- a/build/svg.txt Wed May 13 23:40:31 2009 +0000 +++ b/build/svg.txt Thu May 14 08:36:04 2009 +0000 @@ -1,7 +1,4 @@ -set(lib_name QtSvg) - -set(link_cpp qtdcore_cpp ${qt_core_lib_name} ${qt_gui_lib_name}) -set(link_d qtdcore) +set(link_cpp cpp_core ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ) set(classes QSvgWidget diff -r 374a61671448 -r b8a79f9fba5a generator/CMakeLists.txt --- a/generator/CMakeLists.txt Wed May 13 23:40:31 2009 +0000 +++ b/generator/CMakeLists.txt Thu May 14 08:36:04 2009 +0000 @@ -187,14 +187,6 @@ set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}.xml) endforeach(package ${packages}) -MACRO(MAKE_WINDOWS_PATH pathname) - # An extra \\ escape is necessary to get a \ through CMake's processing. - STRING(REPLACE "/" "\\" ${pathname} "${${pathname}}") - # Enclose with UNESCAPED quotes. This means we need to escape our - # quotes once here, i.e. with \" - SET(${pathname} \"${${pathname}}\") -ENDMACRO(MAKE_WINDOWS_PATH) - foreach(package ${packages}) set(dgen_impl ${CMAKE_BINARY_DIR}/cpp/qt_${package}/qt_${package}.pri) break(package ${packages})