Skip to content

Commit e87dc5b

Browse files
committed
Uses PROJECT_ variables instead of CMAKE_ variables so it can be included using add_subdirectory
1 parent 3ac33d5 commit e87dc5b

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

CMakeLists.txt

+27-27
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
cmake_minimum_required(VERSION 2.8.11)
1212

1313
# In-source builds are disabled.
14-
if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
14+
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
1515
message(FATAL_ERROR
1616
"CMake generation is not possible within the source directory!"
1717
"\n Remove the CMakeCache.txt file and try again from another folder, e.g.:"
@@ -25,7 +25,7 @@ endif()
2525

2626
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}/cmake")
2727

28-
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
28+
set(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin")
2929
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}")
3030

3131
# Use solution folders.
@@ -119,50 +119,50 @@ option(BUILD_TESTS "Build tests" OFF)
119119
#
120120
###############################################################################
121121

122-
set(AUTOCONFIG_SRC ${CMAKE_BINARY_DIR}/config_auto.h.in)
123-
set(AUTOCONFIG ${CMAKE_BINARY_DIR}/config_auto.h)
122+
set(AUTOCONFIG_SRC ${PROJECT_BINARY_DIR}/config_auto.h.in)
123+
set(AUTOCONFIG ${PROJECT_BINARY_DIR}/config_auto.h)
124124

125-
include(Configure)
125+
include(${PROJECT_SOURCE_DIR}/cmake/Configure.cmake)
126126

127127
configure_file(${AUTOCONFIG_SRC} ${AUTOCONFIG} @ONLY)
128128

129129
set(INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" "${CMAKE_INSTALL_PREFIX}/include/tesseract")
130130

131131
configure_file(
132-
${CMAKE_SOURCE_DIR}/src/api/tess_version.h.in
133-
${CMAKE_BINARY_DIR}/api/tess_version.h @ONLY)
132+
${PROJECT_SOURCE_DIR}/src/api/tess_version.h.in
133+
${PROJECT_BINARY_DIR}/api/tess_version.h @ONLY)
134134
configure_file(
135-
${CMAKE_SOURCE_DIR}/src/vs2010/tesseract/tesseract.rc.in
136-
${CMAKE_BINARY_DIR}/vs2010/tesseract/tesseract.rc @ONLY)
135+
${PROJECT_SOURCE_DIR}/src/vs2010/tesseract/tesseract.rc.in
136+
${PROJECT_BINARY_DIR}/vs2010/tesseract/tesseract.rc @ONLY)
137137
configure_file(
138-
${CMAKE_SOURCE_DIR}/src/vs2010/tesseract/libtesseract.rc.in
139-
${CMAKE_BINARY_DIR}/vs2010/tesseract/libtesseract.rc @ONLY)
138+
${PROJECT_SOURCE_DIR}/src/vs2010/tesseract/libtesseract.rc.in
139+
${PROJECT_BINARY_DIR}/vs2010/tesseract/libtesseract.rc @ONLY)
140140
configure_file(
141-
${CMAKE_SOURCE_DIR}/cmake/templates/TesseractConfig-version.cmake.in
142-
${CMAKE_BINARY_DIR}/TesseractConfig-version.cmake @ONLY)
141+
${PROJECT_SOURCE_DIR}/cmake/templates/TesseractConfig-version.cmake.in
142+
${PROJECT_BINARY_DIR}/TesseractConfig-version.cmake @ONLY)
143143
configure_file(
144-
${CMAKE_SOURCE_DIR}/cmake/templates/TesseractConfig.cmake.in
145-
${CMAKE_BINARY_DIR}/TesseractConfig.cmake @ONLY)
144+
${PROJECT_SOURCE_DIR}/cmake/templates/TesseractConfig.cmake.in
145+
${PROJECT_BINARY_DIR}/TesseractConfig.cmake @ONLY)
146146

147147
###############################################################################
148148
#
149149
# build
150150
#
151151
###############################################################################
152152

153-
include(BuildFunctions)
154-
include(SourceGroups)
153+
include(${PROJECT_SOURCE_DIR}/cmake/BuildFunctions.cmake)
154+
include(${PROJECT_SOURCE_DIR}/cmake/SourceGroups.cmake)
155155

156156
add_definitions(-DHAVE_CONFIG_H)
157157
add_definitions(-D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1)
158158
add_definitions(-DWINDLLNAME="libtesseract${VERSION_MAJOR}${VERSION_MINOR}.dll")
159159

160160
include_directories(${Leptonica_INCLUDE_DIRS})
161161

162-
include_directories(${CMAKE_BINARY_DIR})
162+
include_directories(${PROJECT_BINARY_DIR})
163163

164164
include_directories(src/api)
165-
include_directories(${CMAKE_BINARY_DIR}/api)
165+
include_directories(${PROJECT_BINARY_DIR}/api)
166166
include_directories(src/arch)
167167
include_directories(src/ccmain)
168168
include_directories(src/ccstruct)
@@ -230,7 +230,7 @@ if (WIN32)
230230
set(tesseract_hdr
231231
${tesseract_hdr}
232232
${CMAKE_CURRENT_SOURCE_DIR}/src/vs2010/tesseract/resource.h)
233-
set(tesseract_rsc ${CMAKE_BINARY_DIR}/vs2010/tesseract/libtesseract.rc)
233+
set(tesseract_rsc ${PROJECT_BINARY_DIR}/vs2010/tesseract/libtesseract.rc)
234234
set_source_files_properties(
235235
${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductsse.cpp
236236
PROPERTIES COMPILE_DEFINITIONS __SSE4_1__)
@@ -281,11 +281,11 @@ endif()
281281

282282
if (NOT CPPAN_BUILD)
283283
target_link_libraries (libtesseract ${Leptonica_LIBRARIES})
284-
export(TARGETS libtesseract FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
284+
export(TARGETS libtesseract FILE ${PROJECT_BINARY_DIR}/TesseractTargets.cmake)
285285
else()
286286
target_link_libraries (libtesseract pvt.cppan.demo.danbloomberg.leptonica)
287-
file(WRITE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake "include(${CMAKE_BINARY_DIR}/cppan.cmake)\n")
288-
export(TARGETS libtesseract APPEND FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
287+
file(WRITE ${PROJECT_BINARY_DIR}/TesseractTargets.cmake "include(${PROJECT_BINARY_DIR}/cppan.cmake)\n")
288+
export(TARGETS libtesseract APPEND FILE ${PROJECT_BINARY_DIR}/TesseractTargets.cmake)
289289
endif()
290290

291291
########################################
@@ -294,7 +294,7 @@ endif()
294294

295295
set(tesseractmain_src src/api/tesseractmain.cpp)
296296
if (MSVC)
297-
set(tesseractmain_rsc ${CMAKE_BINARY_DIR}/vs2010/tesseract/tesseract.rc)
297+
set(tesseractmain_rsc ${PROJECT_BINARY_DIR}/vs2010/tesseract/tesseract.rc)
298298
endif()
299299

300300
add_executable (tesseract ${tesseractmain_src} ${tesseractmain_rsc})
@@ -321,8 +321,8 @@ install(TARGETS tesseract RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIV
321321
install(TARGETS libtesseract EXPORT TesseractTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
322322
install(EXPORT TesseractTargets DESTINATION cmake)
323323
install(FILES
324-
${CMAKE_BINARY_DIR}/TesseractConfig.cmake
325-
${CMAKE_BINARY_DIR}/TesseractConfig-version.cmake
324+
${PROJECT_BINARY_DIR}/TesseractConfig.cmake
325+
${PROJECT_BINARY_DIR}/TesseractConfig-version.cmake
326326
DESTINATION cmake)
327327

328328
install(FILES
@@ -394,7 +394,7 @@ install(FILES
394394
src/lstm/tfnetwork.h
395395
src/lstm/weightmatrix.h
396396

397-
#${CMAKE_BINARY_DIR}/src/endianness.h
397+
#${PROJECT_BINARY_DIR}/src/endianness.h
398398
DESTINATION include/tesseract)
399399

400400

0 commit comments

Comments
 (0)