On 10/11/2020 2:35 PM, Greg Hellings wrote:
Gary,

I have prepared the changes for #1 and 4 below.

For #3 try defining CLUCENE_HOME with -DCLUCENE_HOME=../../some/path/ to where you built and installed CLucene. That *should* allow FindCLucene.cmake to locate the files appropriately.

#2, not #3

I got the FindClucene.cmake part working. Now I am faced with numerous warning and a number of errors. See the attached file. At this point I would be happy with a cmake switch that would bypass the "FIND_PACKAGE(CLucene QUIET)"

Gary


Now, if I could just ever remember my SVN password to make a commit to the source tree! Shame we can't have SSH transport for commits!

--Greg

On Sun, Oct 11, 2020 at 3:01 PM Greg Hellings <greg.helli...@gmail.com <mailto:greg.helli...@gmail.com>> wrote:



    On Sun, Oct 11, 2020, 11:21 Gary Holmlund <gary.holml...@gmail.com
    <mailto:gary.holml...@gmail.com>> wrote:

        Troy and Greg,

        I have compiled BibleTime with Sword 1.8.903 on Windows. To do
        this I
        had to make 4 changes to cmake files. The first and last one
        are easy
        changes. The second and third will need more effort to decide
        how to
        properly fix them.

        Thanks for your great efforts.

        Gary Holmlund


        1. Find ICU Quiet.

        52c52
        < FIND_PACKAGE(ICU
        ---
         > FIND_PACKAGE(ICU QUIET


    This is curious. I wonder why.




        2.I had to comment out the find of clucene.

        55c55
        < FIND_PACKAGE(CLucene QUIET)
        ---
         > #FIND_PACKAGE(CLucene QUIET)

             If it is not commented out, I get this error.

               CMake Error at cmake/FindCLucene.cmake:82 (FILE):
               FILE failed to open for reading (No such file or
        directory):
        
C:/bibletime-tmp/b5/sword-prefix/src/sword-build/./CLucene/clucene-config.h

               NOTE: I find CLucene/clucene-config.h in the include
        directory.


    There should be a series of search paths it looks through. I'm not
    at my computer right now to check, but if you define the search
    paths this should be unnecessary. Tobias, I think, has a build
    script that demonstrates defining the search path for CLucene.




        3. buildtest.exe build error - I comment out the building of
        buildtest.exe in CMakeLists.txt

        272,277c272,277
        < ADD_EXECUTABLE(buildtest buildtest.cpp)
        < IF(BUILDING_STATIC)
        <       TARGET_LINK_LIBRARIES(buildtest sword_static)
        < ELSE(BUILDING_STATIC)
        <       TARGET_LINK_LIBRARIES(buildtest sword)
        < ENDIF(BUILDING_STATIC)
        ---
         > #ADD_EXECUTABLE(buildtest buildtest.cpp)
         > #IF(BUILDING_STATIC)
         > #     TARGET_LINK_LIBRARIES(buildtest sword_static)
         > #ELSE(BUILDING_STATIC)
         > #     TARGET_LINK_LIBRARIES(buildtest sword)
         > #ENDIF(BUILDING_STATIC)

        Here are the errors I got without this change.

        buildtest.cpp
        5>C:\bibletime-tmp\sword\include\swkey.h(92,32): warning C4251:
        'sword::SWKey::localeCache': class 'sword::SWKey::LocaleCache'
        needs to
        have dll-interface to be used by clients of class 'sword::SWKey'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swkey.h(79): message : see
        declaration
        of 'sword::SWKey::LocaleCache'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swconfig.h(125,34): warning
        C4251:
        'sword::SWConfig::Sections': class
        
'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const

        sword::SWBuf,sword::ConfigEntMap>>>' needs to have
        dll-interface to be
        used by clients of class 'sword::SWConfig'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swconfig.h(36): message : see
        declaration of
        
'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const

        sword::SWBuf,sword::ConfigEntMap>>>'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swmodule.h(118,24): warning
        C4251:
        'sword::SWModule::ownConfig': class
        
'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>'

        needs to have dll-interface to be used by clients of class
        'sword::SWModule'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swconfig.h(35): message : see
        declaration of
        
'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>'

        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swmodule.h(120,43): warning
        C4251:
        'sword::SWModule::entryAttributes': class
        
'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const

        sword::SWBuf,sword::AttributeList>>>' needs to have
        dll-interface to be
        used by clients of class 'sword::SWModule'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swmodule.h(78): message : see
        declaration of
        
'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const

        sword::SWBuf,sword::AttributeList>>>'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swmodule.h(142,30): warning
        C4251:
        'sword::SWModule::rawdisp': class
        'sword::SWModule::StdOutDisplay' needs
        to have dll-interface to be used by clients of class
        'sword::SWModule'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\sword\include\swmodule.h(107): message : see
        declaration of 'sword::SWModule::StdOutDisplay'
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>     Creating library
        C:/bibletime-tmp/b6/sword-prefix/src/sword-build/Release/buildtest.lib

        and object
        C:/bibletime-tmp/b6/sword-prefix/src/sword-build/Release/buildtest.exp
        5>buildtest.obj : error LNK2019: unresolved external symbol
        "public:
        static char * sword::SWBuf::nullStr"
        (?nullStr@SWBuf@sword@@2PADA)
        referenced in function "public: __thiscall std::pair<class
        sword::SWBuf
        const ,class sword::multimapwithdefault<class sword::SWBuf,class
        sword::SWBuf,struct std::less<class sword::SWBuf> > >::pair<class
        sword::SWBuf const ,class sword::multimapwithdefault<class
        sword::SWBuf,class sword::SWBuf,struct std::less<class
        sword::SWBuf> >
         ><class sword::SWBuf &&>(struct std::piecewise_construct_t,class
        std::tuple<class sword::SWBuf &&>,class std::tuple<>)"
        
(??$?0$$QAVSWBuf@sword@@$$Z$$V@?$pair@$$CBVSWBuf@sword@@V?$multimapwithdefault@VSWBuf@sword@@V12@U?$less@VSWBuf@sword@@@std@@@2@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@$$QAVSWBuf@sword@@@1@V?$tuple@$$V@1@@Z)

        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>C:\bibletime-tmp\b6\sword-prefix\src\sword-build\Release\buildtest.exe

        : fatal error LNK1120: 1 unresolved externals
        [C:\bibletime-tmp\b6\sword-prefix\src\sword-build\buildtest.vcxproj]
        5>Done building project "sword.vcxproj" -- FAILED.


    This might be a question for Troy. I wonder if these are based on
    the deprecations he has done this cycle?





        4. I also ran into the problem in cmake/options.cmake that
        ZdPo Ster found.

        29c29
        <       SET(SWORD_INSTALL_DIR "C:\\Program Files
        (x86)\\libsword\\")
        ---
         >       SET(SWORD_INSTALL_DIR "C:/Program Files (x86)/libsword")

        NOTE: I override this value externally anyway.


    Thanks for the confirmation.

    I'll get in fixes for 1 and 4 this evening when I'm back from the
    last pool day of the season. I'll look more closely at 3 as well.
    Let me know if you can resolve 2 with search path arguments or if
    I need to expose one of those from the find file.

    --Greg










        _______________________________________________
        sword-devel mailing list: sword-devel@crosswire.org
        <mailto:sword-devel@crosswire.org>
        http://crosswire.org/mailman/listinfo/sword-devel
        Instructions to unsubscribe/change your settings at above page


_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
6>  swmodule.cpp
6>C:\bibletime-tmp2\sword\include\swkey.h(92,32): warning C4251: 
'sword::SWKey::localeCache': class 'sword::SWKey::LocaleCache' needs to have 
dll-interface to be used by clients of class 'sword::SWKey' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swkey.h(79): message : see declaration of 
'sword::SWKey::LocaleCache' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swconfig.h(125,34): warning C4251: 
'sword::SWConfig::Sections': class 
'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const
 sword::SWBuf,sword::ConfigEntMap>>>' needs to have dll-interface to be used by 
clients of class 'sword::SWConfig' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swconfig.h(36): message : see declaration of 
'std::map<sword::SWBuf,sword::ConfigEntMap,std::less<sword::SWBuf>,std::allocator<std::pair<const
 sword::SWBuf,sword::ConfigEntMap>>>' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(118,24): warning C4251: 
'sword::SWModule::ownConfig': class 
'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>' 
needs to have dll-interface to be used by clients of class 'sword::SWModule' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swconfig.h(35): message : see declaration of 
'sword::multimapwithdefault<sword::SWBuf,sword::SWBuf,std::less<sword::SWBuf>>' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(120,43): warning C4251: 
'sword::SWModule::entryAttributes': class 
'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const
 sword::SWBuf,sword::AttributeList>>>' needs to have dll-interface to be used 
by clients of class 'sword::SWModule' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(78): message : see declaration of 
'std::map<sword::SWBuf,sword::AttributeList,std::less<sword::SWBuf>,std::allocator<std::pair<const
 sword::SWBuf,sword::AttributeList>>>' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(142,30): warning C4251: 
'sword::SWModule::rawdisp': class 'sword::SWModule::StdOutDisplay' needs to 
have dll-interface to be used by clients of class 'sword::SWModule' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\swmodule.h(107): message : see declaration of 
'sword::SWModule::StdOutDisplay' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\treekeyidx.h(54,15): warning C4251: 
'sword::TreeKeyIdx::currentNode': class 'sword::TreeKeyIdx::TreeNode' needs to 
have dll-interface to be used by clients of class 'sword::TreeKeyIdx' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\sword\include\treekeyidx.h(42): message : see declaration 
of 'sword::TreeKeyIdx::TreeNode' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,7): error 
C2143: syntax error: missing ';' before '*' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,7): error 
C4430: missing type specifier - int assumed. Note: C++ does not support 
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(68,15): error 
C2238: unexpected token(s) preceding ';' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(76,54): error 
C4430: missing type specifier - int assumed. Note: C++ does not support 
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(76,35): error 
C2143: syntax error: missing ',' before '*' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,8): error 
C2143: syntax error: missing ';' before '*' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,8): error 
C4430: missing type specifier - int assumed. Note: C++ does not support 
default-int [C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
6>C:\bibletime-tmp2\b1\install\include\CLucene/debug/error.h(79,17): error 
C2238: unexpected token(s) preceding ';' 
[C:\bibletime-tmp2\b1\sword-prefix\src\sword-build\sword.vcxproj]
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to