changes for 1.2.4
This commit is contained in:
Родитель
76edf6f35c
Коммит
6b36a1da3a
|
@ -10,6 +10,8 @@ Release 1.2.4 (2006-10-02)
|
|||
- added Document::getElementById() (two-argument) and getElementByIdNS()
|
||||
- added another test for DOMParser
|
||||
- added AutoPtr::isNull() (to be consistent with SharedPtr)
|
||||
- this release again compiles on PA-RISC HP-UX systems with aCC
|
||||
- added CMAKE support files contributed by Andrew J. P. Maclean
|
||||
|
||||
|
||||
Release 1.2.3 (2006-09-14)
|
||||
|
@ -511,4 +513,4 @@ building the libraries.
|
|||
|
||||
|
||||
--
|
||||
$Id: //poco/1.2/dist/CHANGELOG#7 $
|
||||
$Id: //poco/1.2/dist/CHANGELOG#9 $
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
PROJECT (FTPTest)
|
||||
|
||||
SET (EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH
|
||||
"Single output directory for building all executables.")
|
||||
|
||||
SET( TARGET_BASE_NAME "${PROJECT_NAME}" )
|
||||
SET( LIB_NAME "${TARGET_BASE_NAME}Lib" )
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Let's use the highest warning level.
|
||||
#-----------------------------------------------------------------------------
|
||||
IF(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
|
||||
# Use the highest warning level for visual studio.
|
||||
IF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||
STRING(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
ELSE(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
|
||||
ENDIF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||
IF(CMAKE_C_FLAGS MATCHES "/W[0-4]")
|
||||
STRING(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
ELSE(CMAKE_C_FLAGS MATCHES "/W[0-4]")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||
ENDIF(CMAKE_C_FLAGS MATCHES "/W[0-4]")
|
||||
# Disable deprecation warnings for standard C functions in VS2005 and later
|
||||
IF(CMAKE_COMPILER_2005)
|
||||
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
ENDIF(CMAKE_COMPILER_2005)
|
||||
ENDIF(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
|
||||
IF(CMAKE_BUILD_TOOL MATCHES "make")
|
||||
IF(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||
ENDIF(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
||||
IF(NOT CMAKE_C_FLAGS MATCHES "-Wall")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
ENDIF(NOT CMAKE_C_FLAGS MATCHES "-Wall")
|
||||
ENDIF(CMAKE_BUILD_TOOL MATCHES "make")
|
||||
|
||||
SET(Poco_DIR ${PROJECT_SOURCE_DIR})
|
||||
FIND_PACKAGE(Poco REQUIRED)
|
||||
IF(${Poco_FOUND})
|
||||
INCLUDE_DIRECTORIES(${Poco_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${Poco_LIBRARY_DIRS})
|
||||
ENDIF(WIN32)
|
||||
ENDIF(${Poco_FOUND})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
SET( EXE_NAME "${TARGET_BASE_NAME}" )
|
||||
# Add any source files here.
|
||||
SET( EXE_SRCS
|
||||
"My File.cpp"
|
||||
)
|
||||
# Add any include files here.
|
||||
SET( EXE_INCS
|
||||
"My File.h"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# The executable.
|
||||
ADD_EXECUTABLE(${EXE_NAME} ${EXE_SRCS} ${EXE_INCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES ( ${EXE_NAME}
|
||||
"optimized" CppUnit
|
||||
"debug" CppUnitd
|
||||
"optimized" PocoFoundation
|
||||
"debug" PocoFoundationd
|
||||
"optimized" PocoNet
|
||||
"debug" PocoNetd
|
||||
"optimized" PocoUtil
|
||||
"debug" PocoUtild
|
||||
"optimized" PocoXML
|
||||
"debug" PocoXMLd
|
||||
)
|
||||
|
||||
# Copy the DLLS to where the executable is.
|
||||
# Only do this if you haven't set your path to the Poco DLLs.
|
||||
IF(WIN32)
|
||||
SET ( DLL_FILES_DEBUG
|
||||
${Poco_BINARY_DIRS}/CppUnitd.dll
|
||||
${Poco_BINARY_DIRS}/PocoFoundationd.dll
|
||||
${Poco_BINARY_DIRS}/PocoNetd.dll
|
||||
${Poco_BINARY_DIRS}/PocoUtild.dll
|
||||
${Poco_BINARY_DIRS}/PocoXMLd.dll
|
||||
)
|
||||
|
||||
SET ( DLL_FILES_RELEASE
|
||||
${Poco_BINARY_DIRS}/CppUnit.dll
|
||||
${Poco_BINARY_DIRS}/PocoFoundation.dll
|
||||
${Poco_BINARY_DIRS}/PocoNet.dll
|
||||
${Poco_BINARY_DIRS}/PocoUtil.dll
|
||||
${Poco_BINARY_DIRS}/PocoXML.dll
|
||||
)
|
||||
|
||||
# Copy these files to the build tree.
|
||||
ADD_CUSTOM_TARGET(CopyDll ALL echo "Copying dlls ...")
|
||||
|
||||
FOREACH(file ${DLL_FILES_DEBUG})
|
||||
GET_FILENAME_COMPONENT(fn ${file} NAME)
|
||||
SET(tgt ${EXECUTABLE_OUTPUT_PATH}/Debug/${fn})
|
||||
SET(src ${file})
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET CopyDll
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${src} ${tgt}
|
||||
COMMENT "Source copy of dlls"
|
||||
)
|
||||
ENDFOREACH(file)
|
||||
|
||||
FOREACH(file ${DLL_FILES_RELEASE})
|
||||
GET_FILENAME_COMPONENT(fn ${file} NAME)
|
||||
SET(tgt ${EXECUTABLE_OUTPUT_PATH}/Release/${fn})
|
||||
SET(src ${file})
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET CopyDll
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${src} ${tgt}
|
||||
COMMENT "Source copy of dlls"
|
||||
)
|
||||
ENDFOREACH(file)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
# - Find the Poco includes and libraries.
|
||||
# The following variables are set if Poco is found. If Poco is not
|
||||
# found, Poco_FOUND is set to false.
|
||||
# Poco_FOUND - True when the Poco include directory is found.
|
||||
# Poco_INCLUDE_DIRS - the path to where the poco include files are.
|
||||
# Poco_LIBRARY_DIRS - The path to where the poco library files are.
|
||||
# Poco_BINARY_DIRS - The path to where the poco dlls are.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# If you have installed Poco in a non-standard location.
|
||||
# Then you have three options.
|
||||
# In the following comments, it is assumed that <Your Path>
|
||||
# points to the root directory of the include directory of Poco. e.g
|
||||
# If you have put poco in C:\development\Poco then <Your Path> is
|
||||
# "C:/development/Poco" and in this directory there will be two
|
||||
# directories called "include" and "lib".
|
||||
# 1) After CMake runs, set Poco_INCLUDE_DIR to <Your Path>/poco<-version>
|
||||
# 2) Use CMAKE_INCLUDE_PATH to set a path to <Your Path>/poco<-version>. This will allow FIND_PATH()
|
||||
# to locate Poco_INCLUDE_DIR by utilizing the PATH_SUFFIXES option. e.g.
|
||||
# SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
|
||||
# 3) Set an environment variable called ${POCO_ROOT} that points to the root of where you have
|
||||
# installed Poco, e.g. <Your Path>. It is assumed that there is at least a subdirectory called
|
||||
# Foundation/include/Poco in this path.
|
||||
#
|
||||
# Note:
|
||||
# 1) If you are just using the poco headers, then you do not need to use
|
||||
# Poco_LIBRARY_DIRS in your CMakeLists.txt file.
|
||||
# 2) If Poco has not been installed, then when setting Poco_LIBRARY_DIRS
|
||||
# the script will look for /lib first and, if this fails, then for /stage/lib.
|
||||
#
|
||||
# Usage:
|
||||
# In your CMakeLists.txt file do something like this:
|
||||
# ...
|
||||
# # Poco
|
||||
# FIND_PACKAGE(Poco)
|
||||
# ...
|
||||
# INCLUDE_DIRECTORIES(${Poco_INCLUDE_DIRS})
|
||||
# LINK_DIRECTORIES(${Poco_LIBRARY_DIRS})
|
||||
#
|
||||
# In Windows, we make the assumption that, if the Poco files are installed, the default directory
|
||||
# will be C:\poco or C:\Program Files\Poco.
|
||||
|
||||
SET(POCO_INCLUDE_PATH_DESCRIPTION "top-level directory containing the poco include directories. E.g /usr/local/include/poco-1.2.1 or c:\\poco\\include\\poco-1.2.1")
|
||||
SET(POCO_INCLUDE_DIR_MESSAGE "Set the Poco_INCLUDE_DIR cmake cache entry to the ${POCO_INCLUDE_PATH_DESCRIPTION}")
|
||||
SET(POCO_LIBRARY_PATH_DESCRIPTION "top-level directory containing the poco libraries.")
|
||||
SET(POCO_LIBRARY_DIR_MESSAGE "Set the Poco_LIBRARY_DIR cmake cache entry to the ${POCO_LIBRARY_PATH_DESCRIPTION}")
|
||||
|
||||
|
||||
SET(POCO_DIR_SEARCH $ENV{POCO_ROOT})
|
||||
IF(POCO_DIR_SEARCH)
|
||||
FILE(TO_CMAKE_PATH ${POCO_DIR_SEARCH} POCO_DIR_SEARCH)
|
||||
ENDIF(POCO_DIR_SEARCH)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
SET(POCO_DIR_SEARCH
|
||||
${POCO_DIR_SEARCH}
|
||||
C:/poco
|
||||
D:/poco
|
||||
"C:Program Files/poco"
|
||||
"D:Program Files/poco"
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
# Add in some path suffixes. These will have to be updated whenever a new Poco version comes out.
|
||||
SET(SUFFIX_FOR_INCLUDE_PATH
|
||||
poco-1.2.4
|
||||
poco-1.2.3
|
||||
poco-1.2.1
|
||||
)
|
||||
|
||||
SET(SUFFIX_FOR_LIBRARY_PATH
|
||||
poco-1.2.4/lib
|
||||
poco-1.2.4/lib/Linux/i686
|
||||
poco-1.2.3/lib
|
||||
poco-1.2.3/lib/Linux/i686
|
||||
poco-1.2.1/lib
|
||||
poco-1.2.1/lib/Linux/i686
|
||||
lib
|
||||
lib/Linux/i686
|
||||
)
|
||||
|
||||
#
|
||||
# Look for an installation.
|
||||
#
|
||||
FIND_PATH(Poco_INCLUDE_DIR NAMES Foundation/include/Poco/AbstractCache.h PATH_SUFFIXES ${SUFFIX_FOR_INCLUDE_PATH} PATHS
|
||||
|
||||
# Look in other places.
|
||||
${POCO_DIR_SEARCH}
|
||||
|
||||
# Help the user find it if we cannot.
|
||||
DOC "The ${POCO_INCLUDE_DIR_MESSAGE}"
|
||||
)
|
||||
|
||||
# Assume we didn't find it.
|
||||
SET(Poco_FOUND 0)
|
||||
|
||||
# Now try to get the include and library path.
|
||||
IF(Poco_INCLUDE_DIR)
|
||||
|
||||
IF(EXISTS "${Poco_INCLUDE_DIR}")
|
||||
SET(Poco_INCLUDE_DIRS
|
||||
${Poco_INCLUDE_DIR}/CppUnit/include
|
||||
${Poco_INCLUDE_DIR}/Foundation/include
|
||||
${Poco_INCLUDE_DIR}/Net/include
|
||||
${Poco_INCLUDE_DIR}/Util/include
|
||||
${Poco_INCLUDE_DIR}/XML/include
|
||||
)
|
||||
SET(Poco_FOUND 1)
|
||||
ENDIF(EXISTS "${Poco_INCLUDE_DIR}")
|
||||
|
||||
FIND_LIBRARY(Poco_LIBRARY_DIR NAMES PocoFoundation PocoFoundationd PATH_SUFFIXES ${SUFFIX_FOR_LIBRARY_PATH} PATHS
|
||||
|
||||
# Look in other places.
|
||||
${Poco_INCLUDE_DIR}
|
||||
${POCO_DIR_SEARCH}
|
||||
|
||||
# Help the user find it if we cannot.
|
||||
DOC "The ${POCO_LIBRARY_PATH_DESCRIPTION}"
|
||||
)
|
||||
GET_FILENAME_COMPONENT(Poco_LIBRARY_DIR ${Poco_LIBRARY_DIR} PATH)
|
||||
IF(Poco_INCLUDE_DIR)
|
||||
SET(Poco_LIBRARY_DIRS ${Poco_LIBRARY_DIR})
|
||||
|
||||
# Look for the poco binary path.
|
||||
SET(Poco_BINARY_DIR ${Poco_INCLUDE_DIR})
|
||||
IF(Poco_BINARY_DIR AND EXISTS "${Poco_BINARY_DIR}")
|
||||
SET(Poco_BINARY_DIRS ${Poco_BINARY_DIR}/bin)
|
||||
ENDIF(Poco_BINARY_DIR AND EXISTS "${Poco_BINARY_DIR}")
|
||||
ENDIF(Poco_INCLUDE_DIR)
|
||||
|
||||
ENDIF(Poco_INCLUDE_DIR)
|
||||
|
||||
IF(NOT Poco_FOUND)
|
||||
IF(NOT Poco_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Poco was not found. ${POCO_DIR_MESSAGE}")
|
||||
ELSE(NOT Poco_FIND_QUIETLY)
|
||||
IF(Poco_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Poco was not found. ${POCO_DIR_MESSAGE}")
|
||||
ENDIF(Poco_FIND_REQUIRED)
|
||||
ENDIF(NOT Poco_FIND_QUIETLY)
|
||||
ENDIF(NOT Poco_FOUND)
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
CMAKE Files contributed by Andrew J. P. Maclean <a.maclean@optusnet.com.au>
|
||||
|
||||
|
||||
Put the following files in the directory where your source code is:
|
||||
CMakeLists.txt
|
||||
PocoConfig.cmake.
|
||||
|
||||
Edit CMakeLists.txt to include your source and header files. The sections of interest are:
|
||||
# Add any source files here.
|
||||
SET( EXE_SRCS
|
||||
"My File.cpp"
|
||||
)
|
||||
# Add any include files here.
|
||||
SET( EXE_INCS
|
||||
"My File.h"
|
||||
)
|
||||
|
||||
Then create a subdirectory called build.
|
||||
In Linux:
|
||||
cd build
|
||||
ccmake ..
|
||||
or
|
||||
ccmake -GKDevelop3 ..
|
||||
(This will set up everything so you can use KDevelop3).
|
||||
|
||||
In Windows:
|
||||
run CMakeSetup.exe and set the source code directory and where to build the libraries.
|
||||
|
||||
If CMake cannot find Poco, you will see that the variable Poco_INCLUDE_DIR has the value Poco_INCLUDE_DIR-NOTFOUND. Just set this value to the top level direcotry of where the Poco includes are.
|
||||
|
||||
If there is a different version of Poco, you may have to add edit the variables SUFFIX_FOR_INCLUDE_PATH, and SUFFIX_FOR_LIBRARY_PATH adding in the new Poco version in a similar manner to the existing ones in the file PocoConfig.cmake.
|
||||
|
||||
Finally:
|
||||
In Linux
|
||||
Either type "make" or if you are using KDevelop, click on the <ProjectName>.kdevelop file.
|
||||
In Windows just use your IDE or nmake if you use nmake.
|
Загрузка…
Ссылка в новой задаче