X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=5e7c0a1af3e1b4e001d14d61d5b12502fe6e49df;hb=a0f6d3db9e417c8dd3345cb8aecd25a2674aa8f6;hp=1061c1bedc42b3c1c71625ed897e0def7fdd8642;hpb=20d3484075610928467fda9c71b2f3bf8c334bbf;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1061c1bedc..5e7c0a1af3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,7 @@ LYX_OPTION(DEBUG_GLIBC "Enable libstdc++ debug mode" OFF GCC) LYX_OPTION(DEBUG_GLIBC_PEDANTIC "Enable libstdc++pedantic debug mode" OFF GCC) LYX_OPTION(STDLIB_DEBUG "Use debug stdlib" OFF GCC) LYX_OPTION(CONCEPT_CHECKS "Enable concept-checks" OFF GCC) +LYX_OPTION(PROFILE "Build with options for gprof" OFF GCC) # MSVC specific LYX_OPTION(CONSOLE "Show console on Windows" ON MSVC) @@ -152,13 +153,20 @@ if(LYX_DEPENDENCIES_DOWNLOAD) message(STATUS) set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2010-deps) message(STATUS "Using downloaded dependencies in ${LYX_DEPENDENCIES_DIR}") - set(deps_files lyx20-deps-msvc2010-x86.zip) + set(deps_files lyx20-deps-msvc2010.zip) + set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies) foreach(it ${deps_files}) set(already_downloaded already_downloaded-NOTFOUND CACHE PATH "downloaded" FORCE) find_file(already_downloaded ${it} "${LYX_DEPENDENCIES_DIR}/download") if(NOT already_downloaded) message(STATUS "Downloading ${it} ...") - file(DOWNLOAD ftp://ftp.devel.lyx.org/pub/contrib/windows/${it} ${LYX_DEPENDENCIES_DIR}/download/${it} SHOW_PROGRESS) + file(DOWNLOAD ${deps_server}/${it} ${LYX_DEPENDENCIES_DIR}/download/${it} SHOW_PROGRESS STATUS status LOG log) + list(GET status 0 status_code) + list(GET status 1 status_string) + if(NOT status_code EQUAL 0) + file(REMOVE ${LYX_DEPENDENCIES_DIR}/${it}) + message(FATAL_ERROR "error: downloading '${it}' failed. status_code: ${status_code}, status_string: ${status_string}. \nLog: ${log} ") + endif() execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf ${LYX_DEPENDENCIES_DIR}/download/${it} WORKING_DIRECTORY ${LYX_DEPENDENCIES_DIR}) endif() @@ -354,9 +362,12 @@ set(LYX_MOC_FILES moc_*.cpp) include(ProjectSourceGroup) -if(LYX_PROFILE) +if(LYX_PROFILE AND NOT MSVC) set(CMAKE_BUILD_TYPE Profile CACHE TYPE STRING FORCE) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg" CACHE TYPE STRING FORCE) + set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -pg") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") +else() + set(LYX_PROFILE OFF) endif() @@ -364,9 +375,14 @@ if(LYX_NO_OPTIMIZE) set(CMAKE_BUILD_TYPE None) set(LYX_DEBUG OFF) set(LYX_RELEASE OFF) + set(LYX_PROFILE OFF) elseif(LYX_RELEASE) set(CMAKE_BUILD_TYPE Release) set(LYX_DEBUG OFF) + set(LYX_PROFILE OFF) +elseif(LYX_PROFILE) + set(CMAKE_BUILD_TYPE Profile) + set(LYX_DEBUG OFF) else() set(CMAKE_BUILD_TYPE Debug) set(LYX_DEBUG ON) @@ -399,7 +415,6 @@ if(NOT MSVC) else() set(CMAKE_CXX_FLAGS_RELEASE "${LYX_CXX_FLAGS} -O3 -DNDEBUG" CACHE TYPE STRING FORCE) endif() - set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -pg" CACHE TYPE STRING FORCE) endif() @@ -618,8 +633,7 @@ configure_file(${LYX_CMAKE_DIR}/config.h.cmake ${TOP_BINARY_DIR}/config.h) # Compute qt4-version from ${QTVERSION} if(QTVERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+).*") - MATH(EXPR QT4_VERSIONNUM "${CMAKE_MATCH_1}*10000+${CMAKE_MATCH_2}*100+${CMAKE_MATCH_3}") - set(QT4_VERSION "0x${QT4_VERSIONNUM}") + MATH(EXPR QT4_VERSION "(${CMAKE_MATCH_1}<<16)|(${CMAKE_MATCH_2}<<8)|${CMAKE_MATCH_3}") endif() add_subdirectory(src "${TOP_BINARY_DIR}/src")