]> git.lyx.org Git - features.git/commitdiff
Added libmagic to cmake build. Should to be also adapted to windows
authorKornel Benko <kornel@lyx.org>
Wed, 22 Feb 2012 10:07:04 +0000 (10:07 +0000)
committerKornel Benko <kornel@lyx.org>
Wed, 22 Feb 2012 10:07:04 +0000 (10:07 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40791 a592a061-630c-0410-9148-cb99ea01b6c8

CMakeLists.txt
development/cmake/configCompiler.h.cmake
development/cmake/modules/FindMagic.cmake [new file with mode: 0644]
src/CMakeLists.txt

index ae43c8933de56959bb0ab5da0657ebcc093c4a96..1f6daf31015fc6e04005d6e81b0e27f2d96685e9 100644 (file)
@@ -423,7 +423,10 @@ endif()
 
 
 find_package(Qt4 REQUIRED)
-
+find_package(Magic)
+if(Magic_FOUND)
+       set(HAVE_MAGIC_H 1)
+endif()
 
 include_directories(${TOP_BINARY_DIR} ${TOP_SRC_DIR}/src)
 
index c21226407189c1461838d022ec731e4064acc594..5af2eee2f790bd0727593024c154a06891ac6502 100644 (file)
@@ -82,6 +82,7 @@
 #cmakedefine HAVE_LC_MESSAGES 1    
 #cmakedefine HAVE_SSTREAM 1
 #cmakedefine HAVE_ARGZ_H 1
+#cmakedefine HAVE_MAGIC_H 1
 #cmakedefine SIZEOF_WCHAR_T_IS_2 1
 #cmakedefine SIZEOF_WCHAR_T_IS_4 1
 
diff --git a/development/cmake/modules/FindMagic.cmake b/development/cmake/modules/FindMagic.cmake
new file mode 100644 (file)
index 0000000..7690fb9
--- /dev/null
@@ -0,0 +1,62 @@
+#
+#  Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
+#                2012, Kornel Benko, <kornel@lyx.org>
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#  
+#  1. Redistributions of source code must retain the copyright
+#     notice, this list of conditions and the following disclaimer.
+#  2. Redistributions in binary form must reproduce the copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#  3. The name of the author may not be used to endorse or promote products 
+#     derived from this software without specific prior written permission.
+#  
+#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+#  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+#  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+#  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+#  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+#  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+#  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#  
+
+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
+
+if (Magic_INCLUDE_DIR)
+  # Already in cache, be silent
+  set(Magic_FIND_QUIETLY TRUE)
+endif()
+
+find_path(Magic_INCLUDE_DIR magic.h PATHS
+ /usr/include
+ /usr/local/include)
+       
+find_library(Magic_LIBRARY NAMES "magic")
+       
+include(CheckFunctionExists)
+check_function_exists(magic_open HAVE_HAVE_MAGIC_OPEN)
+if(Magic_INCLUDE_DIR AND Magic_LIBRARY)
+       set(Magic_FOUND TRUE)
+endif()
+
+if(Magic_FOUND)
+   if(NOT Magic_FIND_QUIETLY)
+      message(STATUS "Found magic library: ${Magic_LIBRARY}")
+   endif()
+else()
+   if(Magic_FIND_REQUIRED)
+      message(STATUS "Looked for magic library named magic.")
+      message(STATUS "Found no acceptable magic library. This is fatal.")
+      message(STATUS "magic header: ${Magic_INCLUDE_DIR}")
+      message(STATUS "magic lib   : ${Magic_LIBRARY}")
+      message(FATAL_ERROR "Could NOT find magic library")
+   endif()
+endif()
+
+mark_as_advanced(Magic_LIBRARY Magic_INCLUDE_DIR)
index 86a7ed4c229ff4697bbe45542bc53038a8cf63ac..3f3ebe9ac41e565b05c77fa93143525063c5ee0e 100644 (file)
@@ -142,6 +142,9 @@ endif()
 if(ENCHANT_FOUND)
        target_link_libraries(${_lyx} ${ENCHANT_LIBRARY})
 endif()
+if(Magic_FOUND)
+       target_link_libraries(${_lyx} ${Magic_LIBRARY})
+endif()
 
 if(APPLE)
        target_link_libraries(${_lyx} "-bind_at_load")